o
    ɶd<                     @   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                   @   s  e Zd ZdZdZdZdZdZd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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ed(d) Zejd*d) Zed+d, Zejd-d, Zed.d/ Zejd0d/ Zed1d2 Zejd3d2 Zd4d5 Zd6d7 Z d8d9 Z!d:S );Eventz
    Description of Event.
    KERNEL_OOPSKERNEL_CRASHCRASHEXPLOIT_ATTEMPT
COMPLIANCETUNING_SUGGESTIONTUNING_APPLIEDSECURITYERRORWARNINGc                 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S )a	  
        Initializes a new Event 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.os_management.models.KernelOopsEvent`
        * :class:`~oci.os_management.models.KernelCrashEvent`

        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 Event.
        :type id: str

        :param instance_id:
            The value to assign to the instance_id property of this Event.
        :type instance_id: str

        :param compartment_id:
            The value to assign to the compartment_id property of this Event.
        :type compartment_id: str

        :param tenancy_id:
            The value to assign to the tenancy_id property of this Event.
        :type tenancy_id: str

        :param summary:
            The value to assign to the summary property of this Event.
        :type summary: str

        :param timestamp:
            The value to assign to the timestamp property of this Event.
        :type timestamp: datetime

        :param event_fingerprint:
            The value to assign to the event_fingerprint property of this Event.
        :type event_fingerprint: str

        :param count:
            The value to assign to the count property of this Event.
        :type count: int

        :param event_type:
            The value to assign to the event_type property of this Event.
            Allowed values for this property are: "KERNEL_OOPS", "KERNEL_CRASH", "CRASH", "EXPLOIT_ATTEMPT", "COMPLIANCE", "TUNING_SUGGESTION", "TUNING_APPLIED", "SECURITY", "ERROR", "WARNING", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type event_type: str

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

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

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

        strdatetimeintzdict(str, str)zdict(str, dict(str, object)))idinstance_idcompartment_id
tenancy_idsummary	timestampevent_fingerprintcount
event_typefreeform_tagsdefined_tagssystem_tagsr   Z
instanceIdZcompartmentIdZ	tenancyIdr   r   ZeventFingerprintr   	eventTypeZfreeformTagsZdefinedTagsZ
systemTagsN)Zswagger_typesZattribute_map_id_instance_id_compartment_id_tenancy_id_summary
_timestamp_event_fingerprint_count_event_type_freeform_tags_defined_tags_system_tags)selfkwargs r/   Busr/lib/python3.10/site-packages/oci/os_management/models/event.py__init__:   sL   >
zEvent.__init__c                 C   s$   | d }|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KernelOopsEventr   ZKernelCrashEventr   r/   )Zobject_dictionarytyper/   r/   r0   get_subtype   s   zEvent.get_subtypec                 C      | j S )z
        **[Required]** Gets the id of this Event.
        OCID identifier of the event


        :return: The id of this Event.
        :rtype: str
        r!   r-   r/   r/   r0   r         
zEvent.idc                 C   
   || _ dS )z
        Sets the id of this Event.
        OCID identifier of the event


        :param id: The id of this Event.
        :type: str
        Nr5   )r-   r   r/   r/   r0   r         

c                 C   r4   )z
        Gets the instance_id of this Event.
        OCI identifier of the instance where the event occurred


        :return: The instance_id of this Event.
        :rtype: str
        r"   r6   r/   r/   r0   r      r7   zEvent.instance_idc                 C   r8   )z
        Sets the instance_id of this Event.
        OCI identifier of the instance where the event occurred


        :param instance_id: The instance_id of this Event.
        :type: str
        Nr:   )r-   r   r/   r/   r0   r      r9   c                 C   r4   )z
        Gets the compartment_id of this Event.
        OCI identifier of the compartement where the instance is


        :return: The compartment_id of this Event.
        :rtype: str
        r#   r6   r/   r/   r0   r      r7   zEvent.compartment_idc                 C   r8   )z
        Sets the compartment_id of this Event.
        OCI identifier of the compartement where the instance is


        :param compartment_id: The compartment_id of this Event.
        :type: str
        Nr;   )r-   r   r/   r/   r0   r      r9   c                 C   r4   )z
        Gets the tenancy_id of this Event.
        OCID identifier of the instance tenancy.


        :return: The tenancy_id of this Event.
        :rtype: str
        r$   r6   r/   r/   r0   r      r7   zEvent.tenancy_idc                 C   r8   )z
        Sets the tenancy_id of this Event.
        OCID identifier of the instance tenancy.


        :param tenancy_id: The tenancy_id of this Event.
        :type: str
        Nr<   )r-   r   r/   r/   r0   r     r9   c                 C   r4   )z
        Gets the summary of this Event.
        human readable description of the event


        :return: The summary of this Event.
        :rtype: str
        r%   r6   r/   r/   r0   r     r7   zEvent.summaryc                 C   r8   )z
        Sets the summary of this Event.
        human readable description of the event


        :param summary: The summary of this Event.
        :type: str
        Nr=   )r-   r   r/   r/   r0   r     r9   c                 C   r4   )z
        Gets the timestamp of this Event.
        Time of the occurrence of the event


        :return: The timestamp of this Event.
        :rtype: datetime
        r&   r6   r/   r/   r0   r   *  r7   zEvent.timestampc                 C   r8   )z
        Sets the timestamp of this Event.
        Time of the occurrence of the event


        :param timestamp: The timestamp of this Event.
        :type: datetime
        Nr>   )r-   r   r/   r/   r0   r   6  r9   c                 C   r4   )a7  
        Gets the event_fingerprint of this Event.
        Unique ID used to group event with the same characteristics together.
        The list of such groups of event can be retrieved via /recurringEvents/{EventFingerprint}


        :return: The event_fingerprint of this Event.
        :rtype: str
        r'   r6   r/   r/   r0   r   B     zEvent.event_fingerprintc                 C   r8   )aG  
        Sets the event_fingerprint of this Event.
        Unique ID used to group event with the same characteristics together.
        The list of such groups of event can be retrieved via /recurringEvents/{EventFingerprint}


        :param event_fingerprint: The event_fingerprint of this Event.
        :type: str
        Nr?   )r-   r   r/   r/   r0   r   O     
c                 C   r4   )z
        Gets the count of this Event.
        Event occurrence count. Number of time the event has happen on the system.


        :return: The count of this Event.
        :rtype: int
        r(   r6   r/   r/   r0   r   \  r7   zEvent.countc                 C   r8   )z
        Sets the count of this Event.
        Event occurrence count. Number of time the event has happen on the system.


        :param count: The count of this Event.
        :type: int
        NrB   )r-   r   r/   r/   r0   r   h  r9   c                 C   r4   )a  
        **[Required]** Gets the event_type of this Event.
        Type of the Event.

        Allowed values for this property are: "KERNEL_OOPS", "KERNEL_CRASH", "CRASH", "EXPLOIT_ATTEMPT", "COMPLIANCE", "TUNING_SUGGESTION", "TUNING_APPLIED", "SECURITY", "ERROR", "WARNING", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The event_type of this Event.
        :rtype: str
        )r)   r6   r/   r/   r0   r   t  s   zEvent.event_typec                 C   s    g d}t ||sd}|| _dS )z
        Sets the event_type of this Event.
        Type of the Event.


        :param event_type: The event_type of this Event.
        :type: str
        )
r   r   r	   r
   r   r   r   r   r   r   ZUNKNOWN_ENUM_VALUEN)r   r)   )r-   r   Zallowed_valuesr/   r/   r0   r     s   


c                 C   r4   )a1  
        Gets the freeform_tags of this Event.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
        Example: `{"bar-key": "value"}`


        :return: The freeform_tags of this Event.
        :rtype: dict(str, str)
        r*   r6   r/   r/   r0   r     r@   zEvent.freeform_tagsc                 C   r8   )a=  
        Sets the freeform_tags of this Event.
        Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
        Example: `{"bar-key": "value"}`


        :param freeform_tags: The freeform_tags of this Event.
        :type: dict(str, str)
        NrC   )r-   r   r/   r/   r0   r     rA   c                 C   r4   )a+  
        Gets the defined_tags of this Event.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :return: The defined_tags of this Event.
        :rtype: dict(str, dict(str, object))
        r+   r6   r/   r/   r0   r     r@   zEvent.defined_tagsc                 C   r8   )a6  
        Sets the defined_tags of this Event.
        Defined tags for this resource. Each key is predefined and scoped to a namespace.
        Example: `{"foo-namespace": {"bar-key": "value"}}`


        :param defined_tags: The defined_tags of this Event.
        :type: dict(str, dict(str, object))
        NrD   )r-   r   r/   r/   r0   r     rA   c                 C   r4   )a(  
        Gets the system_tags of this Event.
        Usage of system tag keys. These predefined keys are scoped to namespaces.
        Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`


        :return: The system_tags of this Event.
        :rtype: dict(str, dict(str, object))
        r,   r6   r/   r/   r0   r     r@   zEvent.system_tagsc                 C   r8   )a2  
        Sets the system_tags of this Event.
        Usage of system tag keys. These predefined keys are scoped to namespaces.
        Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`


        :param system_tags: The system_tags of this Event.
        :type: dict(str, dict(str, object))
        NrE   )r-   r   r/   r/   r0   r     rA   c                 C   s   t | S N)r   r6   r/   r/   r0   __repr__  s   zEvent.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r-   otherr/   r/   r0   __eq__  s   zEvent.__eq__c                 C   s
   | |k S rF   r/   rI   r/   r/   r0   __ne__  s   
zEvent.__ne__N)"__name__
__module____qualname____doc__ZEVENT_TYPE_KERNEL_OOPSZEVENT_TYPE_KERNEL_CRASHZEVENT_TYPE_CRASHZEVENT_TYPE_EXPLOIT_ATTEMPTZEVENT_TYPE_COMPLIANCEZEVENT_TYPE_TUNING_SUGGESTIONZEVENT_TYPE_TUNING_APPLIEDZEVENT_TYPE_SECURITYZEVENT_TYPE_ERRORZEVENT_TYPE_WARNINGr1   staticmethodr3   propertyr   setterr   r   r   r   r   r   r   r   r   r   r   rG   rK   rL   r/   r/   r/   r0   r      s    h
























r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r/   r/   r/   r0   <module>   s   