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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dd„ Zdd„ Zd d!„ Zd"S )#Ú
AuditEventz»
    All the attributes of an audit event. For more information, see `Viewing Audit Log Events`__.

    __ https://docs.cloud.oracle.com/iaas/Content/Audit/Tasks/viewinglogevents.htm
    c              	   K   sd   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 AuditEvent object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param event_type:
            The value to assign to the event_type property of this AuditEvent.
        :type event_type: str

        :param cloud_events_version:
            The value to assign to the cloud_events_version property of this AuditEvent.
        :type cloud_events_version: str

        :param event_type_version:
            The value to assign to the event_type_version property of this AuditEvent.
        :type event_type_version: str

        :param source:
            The value to assign to the source property of this AuditEvent.
        :type source: str

        :param event_id:
            The value to assign to the event_id property of this AuditEvent.
        :type event_id: str

        :param event_time:
            The value to assign to the event_time property of this AuditEvent.
        :type event_time: datetime

        :param content_type:
            The value to assign to the content_type property of this AuditEvent.
        :type content_type: str

        :param data:
            The value to assign to the data property of this AuditEvent.
        :type data: oci.audit.models.Data

        ÚstrÚdatetimeZData)Ú
event_typeÚcloud_events_versionÚevent_type_versionÚsourceÚevent_idÚ
event_timeÚcontent_typeÚdataZ	eventTypeZcloudEventsVersionZeventTypeVersionr   ZeventIdZ	eventTimeZcontentTyper   N)
Zswagger_typesZattribute_mapÚ_event_typeÚ_cloud_events_versionÚ_event_type_versionÚ_sourceÚ	_event_idÚ_event_timeÚ_content_typeÚ_data)ÚselfÚkwargs© r   ú@usr/lib/python3.10/site-packages/oci/audit/models/audit_event.pyÚ__init__   s4   'øø
zAuditEvent.__init__c                 C   ó   | j S )aì  
        **[Required]** Gets the event_type of this AuditEvent.
        The type of event that happened.

        The service that produces the event can also add, remove, or change the meaning of a field.
        A service implementing these type changes would publish a new version of an `eventType` and
        revise the `eventTypeVersion` field.

        Example: `com.oraclecloud.ComputeApi.GetInstance`


        :return: The event_type of this AuditEvent.
        :rtype: str
        ©r   ©r   r   r   r   r	   Y   s   zAuditEvent.event_typec                 C   ó
   || _ dS )aæ  
        Sets the event_type of this AuditEvent.
        The type of event that happened.

        The service that produces the event can also add, remove, or change the meaning of a field.
        A service implementing these type changes would publish a new version of an `eventType` and
        revise the `eventTypeVersion` field.

        Example: `com.oraclecloud.ComputeApi.GetInstance`


        :param event_type: The event_type of this AuditEvent.
        :type: str
        Nr   )r   r	   r   r   r   r	   k   s   
c                 C   r   )a5  
        **[Required]** Gets the cloud_events_version of this AuditEvent.
        The version of the CloudEvents specification. The structure of the envelope follows the
        `CloudEvents`__ industry standard format hosted by the
        `Cloud Native Computing Foundation ( CNCF)`__.

        Audit uses version 0.1 specification of the CloudEvents event envelope.

        Example: `0.1`

        __ https://github.com/cloudevents/spec
        __ https://www.cncf.io/


        :return: The cloud_events_version of this AuditEvent.
        :rtype: str
        ©r   r    r   r   r   r
   }   s   zAuditEvent.cloud_events_versionc                 C   r!   )a9  
        Sets the cloud_events_version of this AuditEvent.
        The version of the CloudEvents specification. The structure of the envelope follows the
        `CloudEvents`__ industry standard format hosted by the
        `Cloud Native Computing Foundation ( CNCF)`__.

        Audit uses version 0.1 specification of the CloudEvents event envelope.

        Example: `0.1`

        __ https://github.com/cloudevents/spec
        __ https://www.cncf.io/


        :param cloud_events_version: The cloud_events_version of this AuditEvent.
        :type: str
        Nr"   )r   r
   r   r   r   r
   ’   s   
c                 C   r   )ap  
        **[Required]** Gets the event_type_version of this AuditEvent.
        The version of the event type. This version applies to the payload of the event, not the envelope.
        Use `cloudEventsVersion` to determine the version of the envelope.

        Example: `2.0`


        :return: The event_type_version of this AuditEvent.
        :rtype: str
        ©r   r    r   r   r   r   §   s   zAuditEvent.event_type_versionc                 C   r!   )ar  
        Sets the event_type_version of this AuditEvent.
        The version of the event type. This version applies to the payload of the event, not the envelope.
        Use `cloudEventsVersion` to determine the version of the envelope.

        Example: `2.0`


        :param event_type_version: The event_type_version of this AuditEvent.
        :type: str
        Nr#   )r   r   r   r   r   r   ¶   s   
c                 C   r   )zÊ
        **[Required]** Gets the source of this AuditEvent.
        The source of the event.

        Example: `ComputeApi`


        :return: The source of this AuditEvent.
        :rtype: str
        ©r   r    r   r   r   r   Å   ó   zAuditEvent.sourcec                 C   r!   )zÀ
        Sets the source of this AuditEvent.
        The source of the event.

        Example: `ComputeApi`


        :param source: The source of this AuditEvent.
        :type: str
        Nr$   )r   r   r   r   r   r   Ó   ó   
c                 C   r   )z­
        **[Required]** Gets the event_id of this AuditEvent.
        The GUID of the event.


        :return: The event_id of this AuditEvent.
        :rtype: str
        ©r   r    r   r   r   r   á   s   
zAuditEvent.event_idc                 C   r!   )z¥
        Sets the event_id of this AuditEvent.
        The GUID of the event.


        :param event_id: The event_id of this AuditEvent.
        :type: str
        Nr'   )r   r   r   r   r   r   í   s   

c                 C   r   )aE  
        **[Required]** Gets the event_time of this AuditEvent.
        The time the event occurred, expressed in `RFC 3339`__ timestamp format.

        Example: `2019-09-18T00:10:59.252Z`

        __ https://tools.ietf.org/html/rfc3339


        :return: The event_time of this AuditEvent.
        :rtype: datetime
        ©r   r    r   r   r   r   ù   s   zAuditEvent.event_timec                 C   r!   )a?  
        Sets the event_time of this AuditEvent.
        The time the event occurred, expressed in `RFC 3339`__ timestamp format.

        Example: `2019-09-18T00:10:59.252Z`

        __ https://tools.ietf.org/html/rfc3339


        :param event_time: The event_time of this AuditEvent.
        :type: datetime
        Nr(   )r   r   r   r   r   r   	  s   
c                 C   r   )zõ
        **[Required]** Gets the content_type of this AuditEvent.
        The content type of the data contained in `data`.

        Example: `application/json`


        :return: The content_type of this AuditEvent.
        :rtype: str
        ©r   r    r   r   r   r     r%   zAuditEvent.content_typec                 C   r!   )zñ
        Sets the content_type of this AuditEvent.
        The content type of the data contained in `data`.

        Example: `application/json`


        :param content_type: The content_type of this AuditEvent.
        :type: str
        Nr)   )r   r   r   r   r   r   '  r&   c                 C   r   )z—
        **[Required]** Gets the data of this AuditEvent.

        :return: The data of this AuditEvent.
        :rtype: oci.audit.models.Data
        ©r   r    r   r   r   r   5  s   zAuditEvent.datac                 C   r!   )z‹
        Sets the data of this AuditEvent.

        :param data: The data of this AuditEvent.
        :type: oci.audit.models.Data
        Nr*   )r   r   r   r   r   r   ?  s   
c                 C   s   t | ƒS ©N)r   r    r   r   r   Ú__repr__I  s   zAuditEvent.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r   Úotherr   r   r   Ú__eq__L  s   zAuditEvent.__eq__c                 C   s
   | |k S r+   r   r.   r   r   r   Ú__ne__R  s   
zAuditEvent.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr	   Úsetterr
   r   r   r   r   r   r   r,   r0   r1   r   r   r   r   r      sL    E














	
	r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r   r   r   r   Ú<module>   s   