o
    ɶdi                     @   s8   d dl mZmZmZ d dlmZ eG dd deZdS )    )formatted_flat_dictNONE_SENTINEL#value_allowed_none_or_none_sentinel)init_model_state_from_kwargsc                   @   sb   e Zd ZdZdZdZdZdd Zedd Z	e
d	d
 Zejdd
 Zdd Zdd Zdd ZdS )SourceDetailsa  
    An object that represents the source of the flow defined by the service connector.
    An example source is the VCNFlow logs within the NetworkLogs group.
    For more information about flows defined by service connectors, see
    `Service Connector Hub Overview`__.
    For configuration instructions, see
    `To create a service connector`__.

    __ https://docs.cloud.oracle.com/iaas/Content/service-connector-hub/overview.htm
    __ https://docs.cloud.oracle.com/iaas/Content/service-connector-hub/managingconnectors.htm#create
    logging
monitoring	streamingc                 K   s   ddi| _ ddi| _d| _dS )ao  
        Initializes a new SourceDetails object with values from keyword arguments. This class has the following subclasses and if you are using this class as input
        to a service operations then you should favor using a subclass over the base class:

        * :class:`~oci.sch.models.LoggingSourceDetails`
        * :class:`~oci.sch.models.MonitoringSourceDetails`
        * :class:`~oci.sch.models.StreamingSourceDetails`

        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param kind:
            The value to assign to the kind property of this SourceDetails.
            Allowed values for this property are: "logging", "monitoring", "streaming", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type kind: str

        kindstrN)Zswagger_typesZattribute_map_kind)selfkwargs r   Ausr/lib/python3.10/site-packages/oci/sch/models/source_details.py__init__&   s
   
zSourceDetails.__init__c                 C   s0   | d }|dkr
dS |dkrdS |dkrdS dS )	z
        Given the hash representation of a subtype of this class,
        use the info in the hash to return the class of the subtype.
        r
   r   ZLoggingSourceDetailsr   ZMonitoringSourceDetailsr	   ZStreamingSourceDetailsr   r   )Zobject_dictionarytyper   r   r   get_subtypeB   s   zSourceDetails.get_subtypec                 C   s   | j S )au  
        **[Required]** Gets the kind of this SourceDetails.
        The type descriminator.

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


        :return: The kind of this SourceDetails.
        :rtype: str
        )r   r   r   r   r   r
   U   s   zSourceDetails.kindc                 C   s    g d}t ||sd}|| _dS )z
        Sets the kind of this SourceDetails.
        The type descriminator.


        :param kind: The kind of this SourceDetails.
        :type: str
        )r   r   r	   ZUNKNOWN_ENUM_VALUEN)r   r   )r   r
   Zallowed_valuesr   r   r   r
   d   s   


c                 C   s   t | S N)r   r   r   r   r   __repr__s   s   zSourceDetails.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__v   s   zSourceDetails.__eq__c                 C   s
   | |k S r   r   r   r   r   r   __ne__|   s   
zSourceDetails.__ne__N)__name__
__module____qualname____doc__ZKIND_LOGGINGZKIND_MONITORINGZKIND_STREAMINGr   staticmethodr   propertyr
   setterr   r   r   r   r   r   r   r      s    


r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r   <module>   s   