o
    ëÉ¶dT   ã                   @   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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 )ÚApplicationChannelz7
    The configuration for an Application channel.
    c                 K   s¦   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| _dS )a¼  
        Initializes a new ApplicationChannel object with values from keyword arguments. The default value of the :py:attr:`~oci.oda.models.ApplicationChannel.type` attribute
        of this class is ``APPLICATION`` 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 ApplicationChannel.
        :type id: str

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

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

        :param category:
            The value to assign to the category property of this ApplicationChannel.
            Allowed values for this property are: "AGENT", "APPLICATION", "BOT", "BOT_AS_AGENT", "SYSTEM", "EVENT"
        :type category: str

        :param type:
            The value to assign to the type property of this ApplicationChannel.
            Allowed values for this property are: "ANDROID", "APPEVENT", "APPLICATION", "CORTANA", "FACEBOOK", "IOS", "MSTEAMS", "OSS", "OSVC", "SERVICECLOUD", "SLACK", "TEST", "TWILIO", "WEB", "WEBHOOK"
        :type type: str

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

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this ApplicationChannel.
            Allowed values for this property are: "CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"
        :type lifecycle_state: str

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

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

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

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

        :param outbound_url:
            The value to assign to the outbound_url property of this ApplicationChannel.
        :type outbound_url: str

        :param is_authenticated_user_id:
            The value to assign to the is_authenticated_user_id property of this ApplicationChannel.
        :type is_authenticated_user_id: bool

        :param webhook_url:
            The value to assign to the webhook_url property of this ApplicationChannel.
        :type webhook_url: str

        ÚstrÚintÚdatetimezdict(str, str)zdict(str, dict(str, object))Úbool)ÚidÚnameÚdescriptionÚcategoryÚtypeZ'session_expiry_duration_in_millisecondsZlifecycle_stateZtime_createdZtime_updatedZfreeform_tagsZdefined_tagsÚoutbound_urlÚis_authenticated_user_idÚwebhook_urlr   r   r   r   r   Z#sessionExpiryDurationInMillisecondsZlifecycleStateZtimeCreatedZtimeUpdatedZfreeformTagsZdefinedTagsZoutboundUrlZisAuthenticatedUserIdZ
webhookUrlNZAPPLICATION)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Ú_outbound_urlÚ_is_authenticated_user_idÚ_webhook_url)ÚselfÚkwargs© r   úFusr/lib/python3.10/site-packages/oci/oda/models/application_channel.pyÚ__init__   sZ   Còò
zApplicationChannel.__init__c                 C   ó   | j S )zÏ
        Gets the outbound_url of this ApplicationChannel.
        The URL to send response and error messages to.


        :return: The outbound_url of this ApplicationChannel.
        :rtype: str
        ©r   ©r   r   r   r   r   †   ó   
zApplicationChannel.outbound_urlc                 C   ó
   || _ dS )zÚ
        Sets the outbound_url of this ApplicationChannel.
        The URL to send response and error messages to.


        :param outbound_url: The outbound_url of this ApplicationChannel.
        :type: str
        Nr   )r   r   r   r   r   r   ’   ó   

c                 C   r   )a  
        **[Required]** Gets the is_authenticated_user_id of this ApplicationChannel.
        True if the user id in the AIC message should be treated as an authenticated user id.


        :return: The is_authenticated_user_id of this ApplicationChannel.
        :rtype: bool
        ©r   r    r   r   r   r   ž   r!   z+ApplicationChannel.is_authenticated_user_idc                 C   r"   )a%  
        Sets the is_authenticated_user_id of this ApplicationChannel.
        True if the user id in the AIC message should be treated as an authenticated user id.


        :param is_authenticated_user_id: The is_authenticated_user_id of this ApplicationChannel.
        :type: bool
        Nr$   )r   r   r   r   r   r   ª   r#   c                 C   r   )a]  
        **[Required]** Gets the webhook_url of this ApplicationChannel.
        The URL to use to send messages to this channel.
        This will be generally be used to configure a webhook in a 3rd party messaging system to send messages to this channel.


        :return: The webhook_url of this ApplicationChannel.
        :rtype: str
        ©r   r    r   r   r   r   ¶   s   zApplicationChannel.webhook_urlc                 C   r"   )aX  
        Sets the webhook_url of this ApplicationChannel.
        The URL to use to send messages to this channel.
        This will be generally be used to configure a webhook in a 3rd party messaging system to send messages to this channel.


        :param webhook_url: The webhook_url of this ApplicationChannel.
        :type: str
        Nr%   )r   r   r   r   r   r   Ã   s   
c                 C   s   t | ƒS ©N)r   r    r   r   r   Ú__repr__Ð   s   zApplicationChannel.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   Úotherr   r   r   Ú__eq__Ó   s   zApplicationChannel.__eq__c                 C   s
   | |k S r&   r   r)   r   r   r   Ú__ne__Ù   s   
zApplicationChannel.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr   Úsetterr   r   r'   r+   r,   r   r   r   r   r      s$    t





r   N)	Zchannelr   Zoci.utilr   r   r   Zoci.decoratorsr   r   r   r   r   r   Ú<module>   s
   