o
    ɶd9?                     @   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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d0d1 Zd2d3 Zd4S )5Datazi
    The payload of the event. Information within `data` comes from the resource emitting the event.
    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S )a  
        Initializes a new Data object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param event_grouping_id:
            The value to assign to the event_grouping_id property of this Data.
        :type event_grouping_id: str

        :param event_name:
            The value to assign to the event_name property of this Data.
        :type event_name: str

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

        :param compartment_name:
            The value to assign to the compartment_name property of this Data.
        :type compartment_name: str

        :param resource_name:
            The value to assign to the resource_name property of this Data.
        :type resource_name: str

        :param resource_id:
            The value to assign to the resource_id property of this Data.
        :type resource_id: str

        :param availability_domain:
            The value to assign to the availability_domain property of this Data.
        :type availability_domain: str

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

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

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

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

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

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

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

        strzdict(str, str)zdict(str, dict(str, object))ZIdentityZRequestZResponseZStateChangezdict(str, object))event_grouping_id
event_namecompartment_idcompartment_nameresource_nameresource_idavailability_domainfreeform_tagsdefined_tagsidentityrequestresponsestate_changeadditional_detailsZeventGroupingIdZ	eventNameZcompartmentIdZcompartmentNameZresourceNameZ
resourceIdZavailabilityDomainZfreeformTagsZdefinedTagsr   r   r   ZstateChangeZadditionalDetailsN)Zswagger_typesZattribute_map_event_grouping_id_event_name_compartment_id_compartment_name_resource_name_resource_id_availability_domain_freeform_tags_defined_tags	_identity_request	_response_state_change_additional_details)selfkwargs r&   9usr/lib/python3.10/site-packages/oci/audit/models/data.py__init__   sX   ?
zData.__init__c                 C      | j S )a  
        Gets the event_grouping_id of this Data.
        This value links multiple audit events that are part of the same API operation. For example,
        a long running API operations that emit an event at the start and the end of an operation
        would use the same value in this field for both events.


        :return: The event_grouping_id of this Data.
        :rtype: str
        r   r$   r&   r&   r'   r         zData.event_grouping_idc                 C   
   || _ dS )a  
        Sets the event_grouping_id of this Data.
        This value links multiple audit events that are part of the same API operation. For example,
        a long running API operations that emit an event at the start and the end of an operation
        would use the same value in this field for both events.


        :param event_grouping_id: The event_grouping_id of this Data.
        :type: str
        Nr*   )r$   r   r&   r&   r'   r         
c                 C   r)   )z
        Gets the event_name of this Data.
        Name of the API operation that generated this event.

        Example: `GetInstance`


        :return: The event_name of this Data.
        :rtype: str
        r   r+   r&   r&   r'   r	      r,   zData.event_namec                 C   r-   )z
        Sets the event_name of this Data.
        Name of the API operation that generated this event.

        Example: `GetInstance`


        :param event_name: The event_name of this Data.
        :type: str
        Nr/   )r$   r	   r&   r&   r'   r	      r.   c                 C   r)   )a&  
        Gets the compartment_id of this Data.
        The `OCID`__ of the compartment of the resource
        emitting the event.

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


        :return: The compartment_id of this Data.
        :rtype: str
        r   r+   r&   r&   r'   r
         zData.compartment_idc                 C   r-   )a3  
        Sets the compartment_id of this Data.
        The `OCID`__ of the compartment of the resource
        emitting the event.

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


        :param compartment_id: The compartment_id of this Data.
        :type: str
        Nr0   )r$   r
   r&   r&   r'   r
         
c                 C   r)   )a|  
        Gets the compartment_name of this Data.
        The name of the compartment. This value is the friendly name associated with compartmentId.
        This value can change, but the service logs the value that appeared at the time of the audit
        event.

        Example: `CompartmentA`


        :return: The compartment_name of this Data.
        :rtype: str
        r   r+   r&   r&   r'   r      s   zData.compartment_namec                 C   r-   )a  
        Sets the compartment_name of this Data.
        The name of the compartment. This value is the friendly name associated with compartmentId.
        This value can change, but the service logs the value that appeared at the time of the audit
        event.

        Example: `CompartmentA`


        :param compartment_name: The compartment_name of this Data.
        :type: str
        Nr3   )r$   r   r&   r&   r'   r      s   
c                 C   r)   )z
        Gets the resource_name of this Data.
        The name of the resource emitting the event.


        :return: The resource_name of this Data.
        :rtype: str
        r   r+   r&   r&   r'   r         
zData.resource_namec                 C   r-   )z
        Sets the resource_name of this Data.
        The name of the resource emitting the event.


        :param resource_name: The resource_name of this Data.
        :type: str
        Nr4   )r$   r   r&   r&   r'   r        

c                 C   r)   )a  
        Gets the resource_id of this Data.
        An `OCID`__ or some other ID for the resource
        emitting the event.

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


        :return: The resource_id of this Data.
        :rtype: str
        r   r+   r&   r&   r'   r     r1   zData.resource_idc                 C   r-   )a(  
        Sets the resource_id of this Data.
        An `OCID`__ or some other ID for the resource
        emitting the event.

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


        :param resource_id: The resource_id of this Data.
        :type: str
        Nr7   )r$   r   r&   r&   r'   r     r2   c                 C   r)   )z
        Gets the availability_domain of this Data.
        The availability domain where the resource resides.


        :return: The availability_domain of this Data.
        :rtype: str
        r   r+   r&   r&   r'   r   -  r5   zData.availability_domainc                 C   r-   )z
        Sets the availability_domain of this Data.
        The availability domain where the resource resides.


        :param availability_domain: The availability_domain of this Data.
        :type: str
        Nr8   )r$   r   r&   r&   r'   r   9  r6   c                 C   r)   )a  
        Gets the freeform_tags of this Data.
        Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name,
        type, or namespace. Exists for cross-compatibility only. For more information,
        see `Resource Tags`__.

        Example: `{"Department": "Finance"}`

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


        :return: The freeform_tags of this Data.
        :rtype: dict(str, str)
        r   r+   r&   r&   r'   r   E  s   zData.freeform_tagsc                 C   r-   )a  
        Sets the freeform_tags of this Data.
        Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name,
        type, or namespace. Exists for cross-compatibility only. For more information,
        see `Resource Tags`__.

        Example: `{"Department": "Finance"}`

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


        :param freeform_tags: The freeform_tags of this Data.
        :type: dict(str, str)
        Nr9   )r$   r   r&   r&   r'   r   W  s   
c                 C   r)   )a  
        Gets the defined_tags of this Data.
        Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
        information, see `Resource Tags`__.

        Example: `{"Operations": {"CostCenter": "42"}}`

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


        :return: The defined_tags of this Data.
        :rtype: dict(str, dict(str, object))
        r   r+   r&   r&   r'   r   i  s   zData.defined_tagsc                 C   r-   )a  
        Sets the defined_tags of this Data.
        Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
        information, see `Resource Tags`__.

        Example: `{"Operations": {"CostCenter": "42"}}`

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


        :param defined_tags: The defined_tags of this Data.
        :type: dict(str, dict(str, object))
        Nr:   )r$   r   r&   r&   r'   r   z  s   
c                 C   r)   )z
        Gets the identity of this Data.

        :return: The identity of this Data.
        :rtype: oci.audit.models.Identity
        r   r+   r&   r&   r'   r        zData.identityc                 C   r-   )z
        Sets the identity of this Data.

        :param identity: The identity of this Data.
        :type: oci.audit.models.Identity
        Nr;   )r$   r   r&   r&   r'   r        
c                 C   r)   )z
        Gets the request of this Data.

        :return: The request of this Data.
        :rtype: oci.audit.models.Request
        r    r+   r&   r&   r'   r     r<   zData.requestc                 C   r-   )z
        Sets the request of this Data.

        :param request: The request of this Data.
        :type: oci.audit.models.Request
        Nr>   )r$   r   r&   r&   r'   r     r=   c                 C   r)   )z
        Gets the response of this Data.

        :return: The response of this Data.
        :rtype: oci.audit.models.Response
        r!   r+   r&   r&   r'   r     r<   zData.responsec                 C   r-   )z
        Sets the response of this Data.

        :param response: The response of this Data.
        :type: oci.audit.models.Response
        Nr?   )r$   r   r&   r&   r'   r     r=   c                 C   r)   )z
        Gets the state_change of this Data.

        :return: The state_change of this Data.
        :rtype: oci.audit.models.StateChange
        r"   r+   r&   r&   r'   r     r<   zData.state_changec                 C   r-   )z
        Sets the state_change of this Data.

        :param state_change: The state_change of this Data.
        :type: oci.audit.models.StateChange
        Nr@   )r$   r   r&   r&   r'   r     r=   c                 C   r)   )a  
        Gets the additional_details of this Data.
        A container object for attribues unique to the resource emitting the event.

        Example:

          -----
            {
              "imageId": "ocid1.image.oc1.phx.<unique_ID>",
              "shape": "VM.Standard1.1",
              "type": "CustomerVmi"
            }
          -----


        :return: The additional_details of this Data.
        :rtype: dict(str, object)
        r#   r+   r&   r&   r'   r     s   zData.additional_detailsc                 C   r-   )a  
        Sets the additional_details of this Data.
        A container object for attribues unique to the resource emitting the event.

        Example:

          -----
            {
              "imageId": "ocid1.image.oc1.phx.<unique_ID>",
              "shape": "VM.Standard1.1",
              "type": "CustomerVmi"
            }
          -----


        :param additional_details: The additional_details of this Data.
        :type: dict(str, object)
        NrA   )r$   r   r&   r&   r'   r     s   
c                 C   s   t | S N)r   r+   r&   r&   r'   __repr__  s   zData.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r$   otherr&   r&   r'   __eq__
  s   zData.__eq__c                 C   s
   | |k S rB   r&   rE   r&   r&   r'   __ne__  s   
zData.__ne__N)__name__
__module____qualname____doc__r(   propertyr   setterr	   r
   r   r   r   r   r   r   r   r   r   r   r   rC   rG   rH   r&   r&   r&   r'   r      s|    o


















	
	
	
	
	
	
	
	

r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r&   r&   r&   r'   <module>   s   