o
    ëÉ¶da>  ã                   @   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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d*d)„ ƒZed+d,„ ƒZejd-d,„ ƒZed.d/„ ƒZejd0d/„ ƒZd1d2„ Zd3d4„ Zd5d6„ Zd7S )8ÚRulezU
    A generic rule object - represents an ingest time rule or a scheduled task.
    ÚACTIVEÚDELETEDÚINGEST_TIMEÚSAVED_SEARCHÚFAILEDÚ	SUCCEEDEDc                 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S )aÇ  
        Initializes a new Rule object with values from keyword arguments.
        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 Rule.
        :type id: str

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

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

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

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

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

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

        :param lifecycle_state:
            The value to assign to the lifecycle_state property of this Rule.
            Allowed values for this property are: "ACTIVE", "DELETED"
        :type lifecycle_state: str

        :param kind:
            The value to assign to the kind property of this Rule.
            Allowed values for this property are: "INGEST_TIME", "SAVED_SEARCH"
        :type kind: str

        :param display_name:
            The value to assign to the display_name property of this Rule.
        :type display_name: str

        :param is_enabled:
            The value to assign to the is_enabled property of this Rule.
        :type is_enabled: bool

        :param last_execution_status:
            The value to assign to the last_execution_status property of this Rule.
            Allowed values for this property are: "FAILED", "SUCCEEDED"
        :type last_execution_status: str

        :param time_last_executed:
            The value to assign to the time_last_executed property of this Rule.
        :type time_last_executed: datetime

        ÚstrÚdatetimezdict(str, str)zdict(str, dict(str, object))Úbool)ÚidÚdescriptionÚcompartment_idÚtime_createdÚtime_updatedÚfreeform_tagsÚdefined_tagsÚlifecycle_stateÚkindÚdisplay_nameÚ
is_enabledÚlast_execution_statusÚtime_last_executedr   r   ZcompartmentIdZtimeCreatedZtimeUpdatedZfreeformTagsZdefinedTagsZlifecycleStater   ZdisplayNameZ	isEnabledZlastExecutionStatusZtimeLastExecutedN)Zswagger_typesZattribute_mapÚ_idÚ_descriptionÚ_compartment_idÚ_time_createdÚ_time_updatedÚ_freeform_tagsÚ_defined_tagsÚ_lifecycle_stateÚ_kindÚ_display_nameÚ_is_enabledÚ_last_execution_statusÚ_time_last_executed)ÚselfÚkwargs© r,   úAusr/lib/python3.10/site-packages/oci/log_analytics/models/rule.pyÚ__init__*   sR   >óó
zRule.__init__c                 C   ó   | j S )aK  
        **[Required]** Gets the id of this Rule.
        The log analytics entity OCID. This ID is a reference used by log analytics features and it represents
        a resource that is provisioned and managed by the customer on their premises or on the cloud.


        :return: The id of this Rule.
        :rtype: str
        ©r   ©r*   r,   r,   r-   r   •   ó   zRule.idc                 C   ó
   || _ dS )a=  
        Sets the id of this Rule.
        The log analytics entity OCID. This ID is a reference used by log analytics features and it represents
        a resource that is provisioned and managed by the customer on their premises or on the cloud.


        :param id: The id of this Rule.
        :type: str
        Nr0   )r*   r   r,   r,   r-   r   ¢   ó   
c                 C   r/   )z 
        Gets the description of this Rule.
        Description for this resource.


        :return: The description of this Rule.
        :rtype: str
        ©r   r1   r,   r,   r-   r   ¯   ó   
zRule.descriptionc                 C   r3   )zª
        Sets the description of this Rule.
        Description for this resource.


        :param description: The description of this Rule.
        :type: str
        Nr5   )r*   r   r,   r,   r-   r   »   ó   

c                 C   r/   )a  
        **[Required]** Gets the compartment_id of this Rule.
        Compartment Identifier `OCID]`__.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :return: The compartment_id of this Rule.
        :rtype: str
        ©r   r1   r,   r,   r-   r   Ç   ó   zRule.compartment_idc                 C   r3   )a  
        Sets the compartment_id of this Rule.
        Compartment Identifier `OCID]`__.

        __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm


        :param compartment_id: The compartment_id of this Rule.
        :type: str
        Nr8   )r*   r   r,   r,   r-   r   Õ   s   
c                 C   r/   )zÖ
        Gets the time_created of this Rule.
        The date and time the resource was created, in the format defined by RFC3339.


        :return: The time_created of this Rule.
        :rtype: datetime
        ©r    r1   r,   r,   r-   r   ã   r6   zRule.time_createdc                 C   r3   )zá
        Sets the time_created of this Rule.
        The date and time the resource was created, in the format defined by RFC3339.


        :param time_created: The time_created of this Rule.
        :type: datetime
        Nr:   )r*   r   r,   r,   r-   r   ï   r7   c                 C   r/   )zÛ
        Gets the time_updated of this Rule.
        The date and time the resource was last updated, in the format defined by RFC3339.


        :return: The time_updated of this Rule.
        :rtype: datetime
        ©r!   r1   r,   r,   r-   r   û   r6   zRule.time_updatedc                 C   r3   )zæ
        Sets the time_updated of this Rule.
        The date and time the resource was last updated, in the format defined by RFC3339.


        :param time_updated: The time_updated of this Rule.
        :type: datetime
        Nr;   )r*   r   r,   r,   r-   r     r7   c                 C   r/   )a/  
        Gets the freeform_tags of this Rule.
        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 Rule.
        :rtype: dict(str, str)
        ©r"   r1   r,   r,   r-   r     r2   zRule.freeform_tagsc                 C   r3   )a;  
        Sets the freeform_tags of this Rule.
        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 Rule.
        :type: dict(str, str)
        Nr<   )r*   r   r,   r,   r-   r      r4   c                 C   r/   )a)  
        Gets the defined_tags of this Rule.
        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 Rule.
        :rtype: dict(str, dict(str, object))
        ©r#   r1   r,   r,   r-   r   -  r2   zRule.defined_tagsc                 C   r3   )a4  
        Sets the defined_tags of this Rule.
        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 Rule.
        :type: dict(str, dict(str, object))
        Nr=   )r*   r   r,   r,   r-   r   :  r4   c                 C   r/   )zý
        Gets the lifecycle_state of this Rule.
        The current state of the logging analytics rule.

        Allowed values for this property are: "ACTIVE", "DELETED"


        :return: The lifecycle_state of this Rule.
        :rtype: str
        )r$   r1   r,   r,   r-   r   G  r9   zRule.lifecycle_statec                 C   ó*   ddg}t ||ƒstd |¡ƒ‚|| _dS )zÈ
        Sets the lifecycle_state of this Rule.
        The current state of the logging analytics rule.


        :param lifecycle_state: The lifecycle_state of this Rule.
        :type: str
        r   r   z?Invalid value for `lifecycle_state`, must be None or one of {0}N)r   Ú
ValueErrorÚformatr$   )r*   r   Úallowed_valuesr,   r,   r-   r   U  ó   

þ
c                 C   r/   )a  
        **[Required]** Gets the kind of this Rule.
        The kind of rule - either an ingest time rule or a scheduled task.

        Allowed values for this property are: "INGEST_TIME", "SAVED_SEARCH"


        :return: The kind of this Rule.
        :rtype: str
        )r%   r1   r,   r,   r-   r   g  r9   z	Rule.kindc                 C   r>   )z¹
        Sets the kind of this Rule.
        The kind of rule - either an ingest time rule or a scheduled task.


        :param kind: The kind of this Rule.
        :type: str
        r	   r
   z4Invalid value for `kind`, must be None or one of {0}N)r   r?   r@   r%   )r*   r   rA   r,   r,   r-   r   u  rB   c                 C   r/   )zÇ
        **[Required]** Gets the display_name of this Rule.
        The ingest time rule or scheduled task display name.


        :return: The display_name of this Rule.
        :rtype: str
        ©r&   r1   r,   r,   r-   r   ‡  r6   zRule.display_namec                 C   r3   )zÃ
        Sets the display_name of this Rule.
        The ingest time rule or scheduled task display name.


        :param display_name: The display_name of this Rule.
        :type: str
        NrC   )r*   r   r,   r,   r-   r   “  r7   c                 C   r/   )zÔ
        Gets the is_enabled of this Rule.
        A flag indicating whether or not the ingest time rule or scheduled task is enabled.


        :return: The is_enabled of this Rule.
        :rtype: bool
        ©r'   r1   r,   r,   r-   r   Ÿ  r6   zRule.is_enabledc                 C   r3   )zÝ
        Sets the is_enabled of this Rule.
        A flag indicating whether or not the ingest time rule or scheduled task is enabled.


        :param is_enabled: The is_enabled of this Rule.
        :type: bool
        NrD   )r*   r   r,   r,   r-   r   «  r7   c                 C   r/   )a  
        Gets the last_execution_status of this Rule.
        The most recent task execution status.

        Allowed values for this property are: "FAILED", "SUCCEEDED"


        :return: The last_execution_status of this Rule.
        :rtype: str
        )r(   r1   r,   r,   r-   r   ·  r9   zRule.last_execution_statusc                 C   r>   )zÐ
        Sets the last_execution_status of this Rule.
        The most recent task execution status.


        :param last_execution_status: The last_execution_status of this Rule.
        :type: str
        r   r   zEInvalid value for `last_execution_status`, must be None or one of {0}N)r   r?   r@   r(   )r*   r   rA   r,   r,   r-   r   Å  rB   c                 C   r/   )zê
        Gets the time_last_executed of this Rule.
        The date and time the scheduled task last executed, in the format defined by RFC3339.


        :return: The time_last_executed of this Rule.
        :rtype: datetime
        ©r)   r1   r,   r,   r-   r   ×  r6   zRule.time_last_executedc                 C   r3   )zû
        Sets the time_last_executed of this Rule.
        The date and time the scheduled task last executed, in the format defined by RFC3339.


        :param time_last_executed: The time_last_executed of this Rule.
        :type: datetime
        NrE   )r*   r   r,   r,   r-   r   ã  r7   c                 C   s   t | ƒS ©N)r   r1   r,   r,   r-   Ú__repr__ï  s   zRule.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r*   Úotherr,   r,   r-   Ú__eq__ò  s   zRule.__eq__c                 C   s
   | |k S rF   r,   rI   r,   r,   r-   Ú__ne__ø  s   
zRule.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZLIFECYCLE_STATE_ACTIVEZLIFECYCLE_STATE_DELETEDZKIND_INGEST_TIMEZKIND_SAVED_SEARCHZLAST_EXECUTION_STATUS_FAILEDZLAST_EXECUTION_STATUS_SUCCEEDEDr.   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r   r   r   r   rG   rK   rL   r,   r,   r,   r-   r      s€    k

























r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r,   r,   r,   r-   Ú<module>   s   