o
    eK                     @   s   d 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	 d	e	ZG d
d deZG dd deZG dd deZdS )za
This code was generated by
\ / _    _  _|   _  _
 | (_)\/(_)(_|\/| |(/_  v1.0.0
      /       /
    )deserialize)values)InstanceContext)InstanceResource)ListResource)Pagec                       s4   e Zd Z fddZdd Zdd Zdd Z  ZS )	ConfigurationListc                    s   t t| | i | _dS )a	  
        Initialize the ConfigurationList

        :param Version version: Version that contains the resource

        :returns: twilio.rest.flex_api.v1.configuration.ConfigurationList
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationList
        N)superr   __init__	_solutionselfversion	__class__ X/var/www/html/venv/lib/python3.10/site-packages/twilio/rest/flex_api/v1/configuration.pyr
      s   	
zConfigurationList.__init__c                 C   
   t | jS z
        Constructs a ConfigurationContext

        :returns: twilio.rest.flex_api.v1.configuration.ConfigurationContext
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationContext
        ConfigurationContext_versionr   r   r   r   get!      
zConfigurationList.getc                 C   r   r   r   r   r   r   r   __call__*   r   zConfigurationList.__call__c                 C      dS )z
        Provide a friendly representation

        :returns: Machine friendly representation
        :rtype: str
        z%<Twilio.FlexApi.V1.ConfigurationList>r   r   r   r   r   __repr__3      zConfigurationList.__repr__)__name__
__module____qualname__r
   r   r   r   __classcell__r   r   r   r   r      s
    		r   c                       s,   e Zd Z fddZdd Zdd Z  ZS )ConfigurationPagec                    s   t t| || || _dS )aA  
        Initialize the ConfigurationPage

        :param Version version: Version that contains the resource
        :param Response response: Response from the API

        :returns: twilio.rest.flex_api.v1.configuration.ConfigurationPage
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationPage
        N)r	   r$   r
   r   )r   r   responsesolutionr   r   r   r
   ?   s   

zConfigurationPage.__init__c                 C   s   t | j|S )a  
        Build an instance of ConfigurationInstance

        :param dict payload: Payload response from the API

        :returns: twilio.rest.flex_api.v1.configuration.ConfigurationInstance
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationInstance
        )ConfigurationInstancer   r   payloadr   r   r   get_instanceN   s   	zConfigurationPage.get_instancec                 C   r   )r   z%<Twilio.FlexApi.V1.ConfigurationPage>r   r   r   r   r   r   Y   r   zConfigurationPage.__repr__)r    r!   r"   r
   r*   r   r#   r   r   r   r   r$   =   s    r$   c                       sB   e Zd Z fddZejfddZdd Zdd Zd	d
 Z	  Z
S )r   c                    s.   t t| | i | _djdi | j| _dS )a  
        Initialize the ConfigurationContext

        :param Version version: Version that contains the resource

        :returns: twilio.rest.flex_api.v1.configuration.ConfigurationContext
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationContext
        z/ConfigurationNr   )r	   r   r
   r   format_urir   r   r   r   r
   e   s   	zConfigurationContext.__init__c                 C   s.   t d|i}| jjd| j|d}t| j|S )  
        Fetch the ConfigurationInstance

        :param unicode ui_version: The Pinned UI version of the Configuration resource to fetch

        :returns: The fetched ConfigurationInstance
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationInstance
        	UiVersionGET)methoduriparams)r   ofr   fetchr,   r'   )r   
ui_versiondatar)   r   r   r   r4   t   s   	zConfigurationContext.fetchc                 C      | j jd| jd}t| j |S )
        Create the ConfigurationInstance

        :returns: The created ConfigurationInstance
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationInstance
        POSTr0   r1   )r   creater,   r'   r(   r   r   r   r;         zConfigurationContext.createc                 C   r7   )
        Update the ConfigurationInstance

        :returns: The updated ConfigurationInstance
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationInstance
        r9   r:   )r   updater,   r'   r(   r   r   r   r>      r<   zConfigurationContext.updatec                 C   $   d dd | j D }d|S )r    c                 s        | ]\}}d  ||V  qdS z{}={}Nr+   .0kvr   r   r   	<genexpr>       z0ConfigurationContext.__repr__.<locals>.<genexpr>z+<Twilio.FlexApi.V1.ConfigurationContext {}>joinr   itemsr+   r   contextr   r   r   r         
zConfigurationContext.__repr__)r    r!   r"   r
   r   unsetr4   r;   r>   r   r#   r   r   r   r   r   c   s    r   c                       sb  e Zd ZG dd deZ fddZedd Zedd Zed	d
 Z	edd Z
edd Zedd Zedd Zedd Zedd Zedd Zedd Zedd Zedd Zedd  Zed!d" Zed#d$ Zed%d& Zed'd( Zed)d* Zed+d, Zed-d. Zed/d0 Zed1d2 Zed3d4 Zed5d6 Zed7d8 Z ed9d: Z!ed;d< Z"ed=d> Z#ed?d@ Z$edAdB Z%edCdD Z&edEdF Z'edGdH Z(edIdJ Z)edKdL Z*edMdN Z+edOdP Z,edQdR Z-edSdT Z.edUdV Z/edWdX Z0edYdZ Z1ed[d\ Z2e3j4fd]d^Z5d_d` Z6dadb Z7dcdd Z8  Z9S )er'   c                   @   s   e Zd ZdZdZdZdS )zConfigurationInstance.Statusok
inprogress
notstartedN)r    r!   r"   OK
INPROGRESS
NOTSTARTEDr   r   r   r   Status   s    rW   c                    s  t t| | i d|ddt|dd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i 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&|d'|d(|d)|d*|d+d,	| _d-| _i | _d-S ).z
        Initialize the ConfigurationInstance

        :returns: twilio.rest.flex_api.v1.configuration.ConfigurationInstance
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationInstance
        account_siddate_createddate_updated
attributesstatustaskrouter_workspace_sidtaskrouter_target_workflow_sidtaskrouter_target_taskqueue_sidtaskrouter_taskqueuestaskrouter_skillstaskrouter_worker_channelstaskrouter_worker_attributestaskrouter_offline_activity_sidruntime_domainmessaging_service_instance_sidchat_service_instance_sidflex_service_instance_sidui_languageui_attributesui_dependenciesr5   service_versioncall_recording_enabledcall_recording_webhook_urlcrm_enabledcrm_typecrm_callback_urlcrm_fallback_urlcrm_attributespublic_attributesplugin_service_enabledplugin_service_attributesintegrationsoutbound_call_flowsserverless_service_sidsqueue_stats_configurationnotificationsmarkdownurlflex_insights_hrflex_insights_drilldownflex_urlchannel_configs)	ry   rz   r{   r|   r}   r~   r   r   r   N)	r	   r'   r
   r   r   iso8601_datetime_properties_contextr   )r   r   r)   r   r   r   r
      s   






	























 
!
"#
/
zConfigurationInstance.__init__c                 C   s   | j du rt| j| _ | j S )aA  
        Generate an instance context for the instance, the context is capable of
        performing various actions.  All instance actions are proxied to the context

        :returns: ConfigurationContext for this ConfigurationInstance
        :rtype: twilio.rest.flex_api.v1.configuration.ConfigurationContext
        N)r   r   r   r   r   r   r   _proxy   s   
	zConfigurationInstance._proxyc                 C   
   | j d S )zd
        :returns: The SID of the Account that created the resource
        :rtype: unicode
        rX   r   r   r   r   r   rX         
z!ConfigurationInstance.account_sidc                 C   r   )z
        :returns: The ISO 8601 date and time in GMT when the Configuration resource was created
        :rtype: datetime
        rY   r   r   r   r   r   rY      r   z"ConfigurationInstance.date_createdc                 C   r   )z
        :returns: The ISO 8601 date and time in GMT when the Configuration resource was last updated
        :rtype: datetime
        rZ   r   r   r   r   r   rZ     r   z"ConfigurationInstance.date_updatedc                 C   r   )zb
        :returns: An object that contains application-specific data
        :rtype: dict
        r[   r   r   r   r   r   r[     r   z ConfigurationInstance.attributesc                 C   r   )zj
        :returns: The status of the Flex onboarding
        :rtype: ConfigurationInstance.Status
        r\   r   r   r   r   r   r\     r   zConfigurationInstance.statusc                 C   r   )zW
        :returns: The SID of the TaskRouter Workspace
        :rtype: unicode
        r]   r   r   r   r   r   r]     r   z.ConfigurationInstance.taskrouter_workspace_sidc                 C   r   )z]
        :returns: The SID of the TaskRouter target Workflow
        :rtype: unicode
        r^   r   r   r   r   r   r^   $  r   z4ConfigurationInstance.taskrouter_target_workflow_sidc                 C   r   )z^
        :returns: The SID of the TaskRouter Target TaskQueue
        :rtype: unicode
        r_   r   r   r   r   r   r_   ,  r   z5ConfigurationInstance.taskrouter_target_taskqueue_sidc                 C   r   )zX
        :returns: The list of TaskRouter TaskQueues
        :rtype: list[dict]
        r`   r   r   r   r   r   r`   4  r   z+ConfigurationInstance.taskrouter_taskqueuesc                 C   r   )zc
        :returns: The Skill description for TaskRouter workers
        :rtype: list[dict]
        ra   r   r   r   r   r   ra   <  r   z'ConfigurationInstance.taskrouter_skillsc                 C   r   )zw
        :returns: The TaskRouter default channel capacities and availability for workers
        :rtype: dict
        rb   r   r   r   r   r   rb   D  r   z0ConfigurationInstance.taskrouter_worker_channelsc                 C   r   )zQ
        :returns: The TaskRouter Worker attributes
        :rtype: dict
        rc   r   r   r   r   r   rc   L  r   z2ConfigurationInstance.taskrouter_worker_attributesc                 C   r   )z^
        :returns: The TaskRouter SID of the offline activity
        :rtype: unicode
        rd   r   r   r   r   r   rd   T  r   z5ConfigurationInstance.taskrouter_offline_activity_sidc                 C   r   )z]
        :returns: The URL where the Flex instance is hosted
        :rtype: unicode
        re   r   r   r   r   r   re   \  r   z$ConfigurationInstance.runtime_domainc                 C   r   )z]
        :returns: The SID of the Messaging service instance
        :rtype: unicode
        rf   r   r   r   r   r   rf   d  r   z4ConfigurationInstance.messaging_service_instance_sidc                 C   r   )zd
        :returns: The SID of the chat service this user belongs to
        :rtype: unicode
        rg   r   r   r   r   r   rg   l  r   z/ConfigurationInstance.chat_service_instance_sidc                 C   r   )zX
        :returns: The SID of the Flex service instance
        :rtype: unicode
        rh   r   r   r   r   r   rh   t  r   z/ConfigurationInstance.flex_service_instance_sidc                 C   r   )zW
        :returns: The primary language of the Flex UI
        :rtype: unicode
        ri   r   r   r   r   r   ri   |  r   z!ConfigurationInstance.ui_languagec                 C   r   )zo
        :returns: The object that describes Flex UI characteristics and settings
        :rtype: dict
        rj   r   r   r   r   r   rj     r   z#ConfigurationInstance.ui_attributesc                 C   r   )z
        :returns: The object that defines the NPM packages and versions to be used in Hosted Flex
        :rtype: dict
        rk   r   r   r   r   r   rk     r   z%ConfigurationInstance.ui_dependenciesc                 C   r   )zI
        :returns: The Pinned UI version
        :rtype: unicode
        r5   r   r   r   r   r   r5     r   z ConfigurationInstance.ui_versionc                 C   r   )zL
        :returns: The Flex Service version
        :rtype: unicode
        rl   r   r   r   r   r   rl     r   z%ConfigurationInstance.service_versionc                 C   r   )zR
        :returns: Whether call recording is enabled
        :rtype: bool
        rm   r   r   r   r   r   rm     r   z,ConfigurationInstance.call_recording_enabledc                 C   r   )zR
        :returns: The call recording webhook URL
        :rtype: unicode
        rn   r   r   r   r   r   rn     r   z0ConfigurationInstance.call_recording_webhook_urlc                 C   r   )zP
        :returns: Whether CRM is present for Flex
        :rtype: bool
        ro   r   r   r   r   r   ro     r   z!ConfigurationInstance.crm_enabledc                 C   r   )z@
        :returns: The CRM Type
        :rtype: unicode
        rp   r   r   r   r   r   rp     r   zConfigurationInstance.crm_typec                 C   r   )zH
        :returns: The CRM Callback URL
        :rtype: unicode
        rq   r   r   r   r   r   rq     r   z&ConfigurationInstance.crm_callback_urlc                 C   r   )zH
        :returns: The CRM Fallback URL
        :rtype: unicode
        rr   r   r   r   r   r   rr     r   z&ConfigurationInstance.crm_fallback_urlc                 C   r   )z[
        :returns: An object that contains the CRM attributes
        :rtype: dict
        rs   r   r   r   r   r   rs     r   z$ConfigurationInstance.crm_attributesc                 C   r   )zN
        :returns: The list of public attributes
        :rtype: dict
        rt   r   r   r   r   r   rt     r   z'ConfigurationInstance.public_attributesc                 C   r   )zS
        :returns: Whether the plugin service enabled
        :rtype: bool
        ru   r   r   r   r   r   ru     r   z,ConfigurationInstance.plugin_service_enabledc                 C   r   )zN
        :returns: The plugin service attributes
        :rtype: dict
        rv   r   r   r   r   r   rv     r   z/ConfigurationInstance.plugin_service_attributesc                 C   r   )z
        :returns: A list of objects that contain the configurations for the Integrations supported in this configuration
        :rtype: list[dict]
        rw   r   r   r   r   r   rw     r   z"ConfigurationInstance.integrationsc                 C   r   )zP
        :returns: The list of outbound call flows
        :rtype: dict
        rx   r   r   r   r   r   rx     r   z)ConfigurationInstance.outbound_call_flowsc                 C   r   )z]
        :returns: The list of serverless service SIDs
        :rtype: list[unicode]
        ry   r   r   r   r   r   ry     r   z-ConfigurationInstance.serverless_service_sidsc                 C   r   )z^
        :returns: Configurable parameters for Queues Statistics
        :rtype: dict
        rz   r   r   r   r   r   rz     r   z/ConfigurationInstance.queue_stats_configurationc                 C   r   )zZ
        :returns: Configurable parameters for Notifications
        :rtype: dict
        r{   r   r   r   r   r   r{     r   z#ConfigurationInstance.notificationsc                 C   r   )zU
        :returns: Configurable parameters for Markdown
        :rtype: dict
        r|   r   r   r   r   r   r|     r   zConfigurationInstance.markdownc                 C   r   )zb
        :returns: The absolute URL of the Configuration resource
        :rtype: unicode
        r}   r   r   r   r   r   r}   $  r   zConfigurationInstance.urlc                 C   r   )zY
        :returns: Object that controls workspace reporting
        :rtype: dict
        r~   r   r   r   r   r   r~   ,  r   z&ConfigurationInstance.flex_insights_hrc                 C   r   )zV
        :returns: Setting to enable Flex UI redirection
        :rtype: bool
        r   r   r   r   r   r   r   4  r   z-ConfigurationInstance.flex_insights_drilldownc                 C   r   )zd
        :returns: URL to redirect to in case drilldown is enabled.
        :rtype: unicode
        r   r   r   r   r   r   r   <  r   zConfigurationInstance.flex_urlc                 C   r   )zn
        :returns: Flex Conversations channels' attachments configurations
        :rtype: list[dict]
        r   r   r   r   r   r   r   D  r   z%ConfigurationInstance.channel_configsc                 C   s   | j j|dS )r-   )r5   )r   r4   )r   r5   r   r   r   r4   L  s   	zConfigurationInstance.fetchc                 C   
   | j  S )r8   )r   r;   r   r   r   r   r;   W  r   zConfigurationInstance.createc                 C   r   )r=   )r   r>   r   r   r   r   r>   `  r   zConfigurationInstance.updatec                 C   r?   )r   r@   c                 s   rA   rB   rC   rD   r   r   r   rH   p  rI   z1ConfigurationInstance.__repr__.<locals>.<genexpr>z,<Twilio.FlexApi.V1.ConfigurationInstance {}>rJ   rM   r   r   r   r   i  rO   zConfigurationInstance.__repr__):r    r!   r"   objectrW   r
   propertyr   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r5   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   rP   r4   r;   r>   r   r#   r   r   r   r   r'      s    <











































		r'   N)__doc__twilio.baser   r   twilio.base.instance_contextr   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.pager   r   r$   r   r'   r   r   r   r   <module>   s   ,&A