o
    ɶd2                     @   sD   d dl mZ ddlmZmZmZ ddlmZ eG dd deZdS )   )Channel    )formatted_flat_dictNONE_SENTINEL#value_allowed_none_or_none_sentinel)init_model_state_from_kwargsc                   @   s   e Zd ZdZdZdZdd Zedd Zej	dd Zed	d
 Z
e
j	dd
 Z
edd Zej	dd Zedd Zej	dd Zedd Zej	dd Zedd Zej	dd Zedd Zej	dd Zdd Zdd Zdd  Zd!S )"OsvcChannelz0
    The configuration for an OSVC channel.
    OSVCFUSIONc                 K   s^  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i| _ 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"i| _d#| _d#| _d#| _d#| _d#| _d#| _d#| _d#| _	d#| _
d#| _d#| _d#| _d#| _d#| _d#| _d#| _d#| _d#| _d$| _d#S )%a  
        Initializes a new OsvcChannel object with values from keyword arguments. The default value of the :py:attr:`~oci.oda.models.OsvcChannel.type` attribute
        of this class is ``OSVC`` and it should not be changed.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param id:
            The value to assign to the id property of this OsvcChannel.
        :type id: str

        :param name:
            The value to assign to the name property of this OsvcChannel.
        :type name: str

        :param description:
            The value to assign to the description property of this OsvcChannel.
        :type description: str

        :param category:
            The value to assign to the category property of this OsvcChannel.
            Allowed values for this property are: "AGENT", "APPLICATION", "BOT", "BOT_AS_AGENT", "SYSTEM", "EVENT", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type category: str

        :param type:
            The value to assign to the type property of this OsvcChannel.
            Allowed values for this property are: "ANDROID", "APPEVENT", "APPLICATION", "CORTANA", "FACEBOOK", "IOS", "MSTEAMS", "OSS", "OSVC", "SERVICECLOUD", "SLACK", "TEST", "TWILIO", "WEB", "WEBHOOK", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type type: str

        :param session_expiry_duration_in_milliseconds:
            The value to assign to the session_expiry_duration_in_milliseconds property of this OsvcChannel.
        :type session_expiry_duration_in_milliseconds: int

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this OsvcChannel.
            Allowed values for this property are: "CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type lifecycle_state: str

        :param time_created:
            The value to assign to the time_created property of this OsvcChannel.
        :type time_created: datetime

        :param time_updated:
            The value to assign to the time_updated property of this OsvcChannel.
        :type time_updated: datetime

        :param freeform_tags:
            The value to assign to the freeform_tags property of this OsvcChannel.
        :type freeform_tags: dict(str, str)

        :param defined_tags:
            The value to assign to the defined_tags property of this OsvcChannel.
        :type defined_tags: dict(str, dict(str, object))

        :param host:
            The value to assign to the host property of this OsvcChannel.
        :type host: str

        :param port:
            The value to assign to the port property of this OsvcChannel.
        :type port: str

        :param user_name:
            The value to assign to the user_name property of this OsvcChannel.
        :type user_name: str

        :param total_session_count:
            The value to assign to the total_session_count property of this OsvcChannel.
        :type total_session_count: int

        :param channel_service:
            The value to assign to the channel_service property of this OsvcChannel.
            Allowed values for this property are: "OSVC", "FUSION", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type channel_service: str

        :param authentication_provider_name:
            The value to assign to the authentication_provider_name property of this OsvcChannel.
        :type authentication_provider_name: str

        :param bot_id:
            The value to assign to the bot_id property of this OsvcChannel.
        :type bot_id: str

        idstrnamedescriptioncategorytypeZ'session_expiry_duration_in_millisecondsintZlifecycle_stateZtime_createddatetimeZtime_updatedZfreeform_tagszdict(str, str)Zdefined_tagszdict(str, dict(str, object))hostport	user_nametotal_session_countchannel_serviceauthentication_provider_namebot_idZ#sessionExpiryDurationInMillisecondsZlifecycleStateZtimeCreatedZtimeUpdatedZfreeformTagsZdefinedTagsZuserNameZtotalSessionCountZchannelServiceZauthenticationProviderNameZbotIdNr	   )Zswagger_typesZattribute_mapZ_id_nameZ_descriptionZ	_categoryZ_typeZ(_session_expiry_duration_in_millisecondsZ_lifecycle_stateZ_time_createdZ_time_updatedZ_freeform_tagsZ_defined_tags_host_port
_user_name_total_session_count_channel_service_authentication_provider_name_bot_id)selfkwargs r$   ?usr/lib/python3.10/site-packages/oci/oda/models/osvc_channel.py__init__   s   W	
	

zOsvcChannel.__init__c                 C      | j S )aR  
        **[Required]** Gets the host of this OsvcChannel.
        The host.

        For OSVC, you can derive these values from the URL that you use to launch the Agent Browser User Interface
        or the chat launch page. For example, if the URL is https://sitename.exampledomain.com/app/chat/chat_launch,
        then the host is sitename.exampledomain.com.

        For FUSION, this is the host portion of your Oracle Applications Cloud (Fusion) instance's URL.
        For example: sitename.exampledomain.com.


        :return: The host of this OsvcChannel.
        :rtype: str
        r   r"   r$   r$   r%   r      s   zOsvcChannel.hostc                 C   
   || _ dS )aF  
        Sets the host of this OsvcChannel.
        The host.

        For OSVC, you can derive these values from the URL that you use to launch the Agent Browser User Interface
        or the chat launch page. For example, if the URL is https://sitename.exampledomain.com/app/chat/chat_launch,
        then the host is sitename.exampledomain.com.

        For FUSION, this is the host portion of your Oracle Applications Cloud (Fusion) instance's URL.
        For example: sitename.exampledomain.com.


        :param host: The host of this OsvcChannel.
        :type: str
        Nr(   )r"   r   r$   r$   r%   r      s   
c                 C   r'   )z
        **[Required]** Gets the port of this OsvcChannel.
        The port.


        :return: The port of this OsvcChannel.
        :rtype: str
        r   r)   r$   r$   r%   r         
zOsvcChannel.portc                 C   r*   )z
        Sets the port of this OsvcChannel.
        The port.


        :param port: The port of this OsvcChannel.
        :type: str
        Nr+   )r"   r   r$   r$   r%   r         

c                 C   r'   )z
        **[Required]** Gets the user_name of this OsvcChannel.
        The user name for the digital-assistant agent.


        :return: The user_name of this OsvcChannel.
        :rtype: str
        r   r)   r$   r$   r%   r      r,   zOsvcChannel.user_namec                 C   r*   )z
        Sets the user_name of this OsvcChannel.
        The user name for the digital-assistant agent.


        :param user_name: The user_name of this OsvcChannel.
        :type: str
        Nr.   )r"   r   r$   r$   r%   r      r-   c                 C   r'   )z
        **[Required]** Gets the total_session_count of this OsvcChannel.
        The total session count.


        :return: The total_session_count of this OsvcChannel.
        :rtype: int
        r   r)   r$   r$   r%   r     r,   zOsvcChannel.total_session_countc                 C   r*   )z
        Sets the total_session_count of this OsvcChannel.
        The total session count.


        :param total_session_count: The total_session_count of this OsvcChannel.
        :type: int
        Nr/   )r"   r   r$   r$   r%   r     r-   c                 C   r'   )au  
        **[Required]** Gets the channel_service of this OsvcChannel.
        The type of OSVC service.

        Allowed values for this property are: "OSVC", "FUSION", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The channel_service of this OsvcChannel.
        :rtype: str
        )r   r)   r$   r$   r%   r     s   zOsvcChannel.channel_servicec                 C   s    ddg}t ||sd}|| _dS )z
        Sets the channel_service of this OsvcChannel.
        The type of OSVC service.


        :param channel_service: The channel_service of this OsvcChannel.
        :type: str
        r	   r
   ZUNKNOWN_ENUM_VALUEN)r   r   )r"   r   Zallowed_valuesr$   r$   r%   r   ,  s   


c                 C   r'   )a	  
        **[Required]** Gets the authentication_provider_name of this OsvcChannel.
        The name of the Authentication Provider to use to authenticate the user.


        :return: The authentication_provider_name of this OsvcChannel.
        :rtype: str
        r    r)   r$   r$   r%   r   ;  r,   z(OsvcChannel.authentication_provider_namec                 C   r*   )a  
        Sets the authentication_provider_name of this OsvcChannel.
        The name of the Authentication Provider to use to authenticate the user.


        :param authentication_provider_name: The authentication_provider_name of this OsvcChannel.
        :type: str
        Nr0   )r"   r   r$   r$   r%   r   G  r-   c                 C   r'   )z
        Gets the bot_id of this OsvcChannel.
        The ID of the Skill or Digital Assistant that the Channel is routed to.


        :return: The bot_id of this OsvcChannel.
        :rtype: str
        r!   r)   r$   r$   r%   r   S  r,   zOsvcChannel.bot_idc                 C   r*   )z
        Sets the bot_id of this OsvcChannel.
        The ID of the Skill or Digital Assistant that the Channel is routed to.


        :param bot_id: The bot_id of this OsvcChannel.
        :type: str
        Nr1   )r"   r   r$   r$   r%   r   _  r-   c                 C   s   t | S N)r   r)   r$   r$   r%   __repr__k  s   zOsvcChannel.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r"   otherr$   r$   r%   __eq__n  s   zOsvcChannel.__eq__c                 C   s
   | |k S r2   r$   r5   r$   r$   r%   __ne__t  s   
zOsvcChannel.__ne__N)__name__
__module____qualname____doc__ZCHANNEL_SERVICE_OSVCZCHANNEL_SERVICE_FUSIONr&   propertyr   setterr   r   r   r   r   r   r3   r7   r8   r$   r$   r$   r%   r      sJ     













r   N)	Zchannelr   Zoci.utilr   r   r   Zoci.decoratorsr   r   r$   r$   r$   r%   <module>   s
   