o
    ɶd&                     @   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	edd Z
e
jdd Z
dd Zdd Zdd ZdS )
WebChannelz.
    The configuration for a Web 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| _d| _d| _dS )a  
        Initializes a new WebChannel object with values from keyword arguments. The default value of the :py:attr:`~oci.oda.models.WebChannel.type` attribute
        of this class is ``WEB`` 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 WebChannel.
        :type id: str

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

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

        :param category:
            The value to assign to the category property of this WebChannel.
            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 WebChannel.
            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 WebChannel.
        :type session_expiry_duration_in_milliseconds: int

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this WebChannel.
            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 WebChannel.
        :type time_created: datetime

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

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

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

        :param max_token_expiration_time_in_minutes:
            The value to assign to the max_token_expiration_time_in_minutes property of this WebChannel.
        :type max_token_expiration_time_in_minutes: int

        :param is_client_authentication_enabled:
            The value to assign to the is_client_authentication_enabled property of this WebChannel.
        :type is_client_authentication_enabled: bool

        :param allowed_domains:
            The value to assign to the allowed_domains property of this WebChannel.
        :type allowed_domains: str

        :param bot_id:
            The value to assign to the bot_id property of this WebChannel.
        :type bot_id: 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$max_token_expiration_time_in_minutes is_client_authentication_enabledallowed_domainsbot_idr   r   r   r   r   Z#sessionExpiryDurationInMillisecondsZlifecycleStateZtimeCreatedZtimeUpdatedZfreeformTagsZdefinedTagsZmaxTokenExpirationTimeInMinutesZisClientAuthenticationEnabledZallowedDomainsZbotIdNZWEB)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%_max_token_expiration_time_in_minutes!_is_client_authentication_enabled_allowed_domains_bot_id)selfkwargs r   >usr/lib/python3.10/site-packages/oci/oda/models/web_channel.py__init__   s`   G
zWebChannel.__init__c                 C      | j S )z
        Gets the max_token_expiration_time_in_minutes of this WebChannel.
        The maximum time until the token expires (in minutes).


        :return: The max_token_expiration_time_in_minutes of this WebChannel.
        :rtype: int
        r   r   r   r   r   r         
z/WebChannel.max_token_expiration_time_in_minutesc                 C   
   || _ dS )a  
        Sets the max_token_expiration_time_in_minutes of this WebChannel.
        The maximum time until the token expires (in minutes).


        :param max_token_expiration_time_in_minutes: The max_token_expiration_time_in_minutes of this WebChannel.
        :type: int
        Nr!   )r   r   r   r   r   r         

c                 C   r    )z
        **[Required]** Gets the is_client_authentication_enabled of this WebChannel.
        Whether client authentication is enabled or not.


        :return: The is_client_authentication_enabled of this WebChannel.
        :rtype: bool
        r   r"   r   r   r   r      r#   z+WebChannel.is_client_authentication_enabledc                 C   r$   )a  
        Sets the is_client_authentication_enabled of this WebChannel.
        Whether client authentication is enabled or not.


        :param is_client_authentication_enabled: The is_client_authentication_enabled of this WebChannel.
        :type: bool
        Nr&   )r   r   r   r   r   r      r%   c                 C   r    )aK  
        Gets the allowed_domains of this WebChannel.
        A comma-delimited whitelist of allowed domains.

        The channel will only communicate with the sites from the domains that you add to this list.
        For example, *.corp.example.com, *.hdr.example.com. Entering a single asterisk (*) allows unrestricted access
        to the channel from any domain.

        Typically, you'd only enter a single asterisk during development. For production, you would add an allowlist of domains.


        :return: The allowed_domains of this WebChannel.
        :rtype: str
        r   r"   r   r   r   r      s   zWebChannel.allowed_domainsc                 C   r$   )aY  
        Sets the allowed_domains of this WebChannel.
        A comma-delimited whitelist of allowed domains.

        The channel will only communicate with the sites from the domains that you add to this list.
        For example, *.corp.example.com, *.hdr.example.com. Entering a single asterisk (*) allows unrestricted access
        to the channel from any domain.

        Typically, you'd only enter a single asterisk during development. For production, you would add an allowlist of domains.


        :param allowed_domains: The allowed_domains of this WebChannel.
        :type: str
        Nr'   )r   r   r   r   r   r      s   
c                 C   r    )z
        Gets the bot_id of this WebChannel.
        The ID of the Skill or Digital Assistant that the Channel is routed to.


        :return: The bot_id of this WebChannel.
        :rtype: str
        r   r"   r   r   r   r      r#   zWebChannel.bot_idc                 C   r$   )z
        Sets the bot_id of this WebChannel.
        The ID of the Skill or Digital Assistant that the Channel is routed to.


        :param bot_id: The bot_id of this WebChannel.
        :type: str
        Nr(   )r   r   r   r   r   r      r%   c                 C   s   t | S N)r   r"   r   r   r   __repr__   s   zWebChannel.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__   s   zWebChannel.__eq__c                 C   s
   | |k S r)   r   r,   r   r   r   __ne__  s   
zWebChannel.__ne__N)__name__
__module____qualname____doc__r   propertyr   setterr   r   r   r*   r.   r/   r   r   r   r   r      s,    {







r   N)	Zchannelr   Zoci.utilr   r   r   Zoci.decoratorsr   r   r   r   r   r   <module>   s
   