o
    ëÉ¶d÷2  ã                   @   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                   @   s2  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d%d&„ Zd'd(„ Zd)d*„ Zd+S ),ÚSuppressionzA
    The full information representing an email suppression.
    ÚUNKNOWNÚ
HARDBOUNCEÚ	COMPLAINTÚMANUALÚ
SOFTBOUNCEÚUNSUBSCRIBEc              
   K   sn   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 Suppression object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

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

        :param email_address:
            The value to assign to the email_address property of this Suppression.
        :type email_address: str

        :param id:
            The value to assign to the id property of this Suppression.
        :type id: str

        :param reason:
            The value to assign to the reason property of this Suppression.
            Allowed values for this property are: "UNKNOWN", "HARDBOUNCE", "COMPLAINT", "MANUAL", "SOFTBOUNCE", "UNSUBSCRIBE", 'UNKNOWN_ENUM_VALUE'.
            Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.
        :type reason: str

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

        :param time_last_suppressed:
            The value to assign to the time_last_suppressed property of this Suppression.
        :type time_last_suppressed: datetime

        :param message_id:
            The value to assign to the message_id property of this Suppression.
        :type message_id: str

        :param error_detail:
            The value to assign to the error_detail property of this Suppression.
        :type error_detail: str

        :param error_source:
            The value to assign to the error_source property of this Suppression.
        :type error_source: str

        ÚstrÚdatetime)	Úcompartment_idÚemail_addressÚidÚreasonÚtime_createdÚtime_last_suppressedÚ
message_idÚerror_detailÚerror_sourceZcompartmentIdZemailAddressr   r   ZtimeCreatedZtimeLastSuppressedZ	messageIdZerrorDetailZerrorSourceN)Zswagger_typesZattribute_mapÚ_compartment_idÚ_email_addressÚ_idÚ_reasonÚ_time_createdÚ_time_last_suppressedÚ_message_idÚ_error_detailÚ_error_source)ÚselfÚkwargs© r#   ú@usr/lib/python3.10/site-packages/oci/email/models/suppression.pyÚ__init__*   s:   -÷÷
zSuppression.__init__c                 C   ó   | j S )a9  
        **[Required]** Gets the compartment_id of this Suppression.
        The OCID of the compartment to contain the suppression. Since
        suppressions are at the customer level, this must be the tenancy
        OCID.


        :return: The compartment_id of this Suppression.
        :rtype: str
        ©r   ©r!   r#   r#   r$   r   x   ó   zSuppression.compartment_idc                 C   ó
   || _ dS )a7  
        Sets the compartment_id of this Suppression.
        The OCID of the compartment to contain the suppression. Since
        suppressions are at the customer level, this must be the tenancy
        OCID.


        :param compartment_id: The compartment_id of this Suppression.
        :type: str
        Nr'   )r!   r   r#   r#   r$   r   †   ó   
c                 C   r&   )zÄ
        **[Required]** Gets the email_address of this Suppression.
        Email address of the suppression.


        :return: The email_address of this Suppression.
        :rtype: str
        ©r   r(   r#   r#   r$   r   ”   ó   
zSuppression.email_addressc                 C   r*   )zÁ
        Sets the email_address of this Suppression.
        Email address of the suppression.


        :param email_address: The email_address of this Suppression.
        :type: str
        Nr,   )r!   r   r#   r#   r$   r       ó   

c                 C   r&   )z®
        **[Required]** Gets the id of this Suppression.
        The unique ID of the suppression.


        :return: The id of this Suppression.
        :rtype: str
        ©r   r(   r#   r#   r$   r   ¬   r-   zSuppression.idc                 C   r*   )z 
        Sets the id of this Suppression.
        The unique ID of the suppression.


        :param id: The id of this Suppression.
        :type: str
        Nr/   )r!   r   r#   r#   r$   r   ¸   r.   c                 C   r&   )aH  
        Gets the reason of this Suppression.
        The reason that the email address was suppressed. For more information on the types of bounces, see `Suppression List`__.

        __ https://docs.cloud.oracle.com/Content/Email/Concepts/overview.htm#components

        Allowed values for this property are: "UNKNOWN", "HARDBOUNCE", "COMPLAINT", "MANUAL", "SOFTBOUNCE", "UNSUBSCRIBE", 'UNKNOWN_ENUM_VALUE'.
        Any unrecognized values returned by a service will be mapped to 'UNKNOWN_ENUM_VALUE'.


        :return: The reason of this Suppression.
        :rtype: str
        )r   r(   r#   r#   r$   r   Ä   s   zSuppression.reasonc                 C   s    g d¢}t ||ƒsd}|| _dS )a]  
        Sets the reason of this Suppression.
        The reason that the email address was suppressed. For more information on the types of bounces, see `Suppression List`__.

        __ https://docs.cloud.oracle.com/Content/Email/Concepts/overview.htm#components


        :param reason: The reason of this Suppression.
        :type: str
        )r   r   r	   r
   r   r   ZUNKNOWN_ENUM_VALUEN)r   r   )r!   r   Zallowed_valuesr#   r#   r$   r   Õ   s   

c                 C   r&   )a  
        Gets the time_created of this Suppression.
        The date and time the suppression was added in "YYYY-MM-ddThh:mmZ"
        format with a Z offset, as defined by RFC 3339.


        :return: The time_created of this Suppression.
        :rtype: datetime
        ©r   r(   r#   r#   r$   r   æ   s   zSuppression.time_createdc                 C   r*   )a  
        Sets the time_created of this Suppression.
        The date and time the suppression was added in "YYYY-MM-ddThh:mmZ"
        format with a Z offset, as defined by RFC 3339.


        :param time_created: The time_created of this Suppression.
        :type: datetime
        Nr0   )r!   r   r#   r#   r$   r   ó   s   
c                 C   r&   )a9  
        Gets the time_last_suppressed of this Suppression.
        The last date and time the suppression prevented submission
        in "YYYY-MM-ddThh:mmZ"
        format with a Z offset, as defined by RFC 3339.


        :return: The time_last_suppressed of this Suppression.
        :rtype: datetime
        ©r   r(   r#   r#   r$   r      r)   z Suppression.time_last_suppressedc                 C   r*   )aL  
        Sets the time_last_suppressed of this Suppression.
        The last date and time the suppression prevented submission
        in "YYYY-MM-ddThh:mmZ"
        format with a Z offset, as defined by RFC 3339.


        :param time_last_suppressed: The time_last_suppressed of this Suppression.
        :type: datetime
        Nr1   )r!   r   r#   r#   r$   r     r+   c                 C   r&   )ag  
        Gets the message_id of this Suppression.
        The value of the Message-ID header from the email that triggered a suppression.
        This value is as defined in RFC 5322 section 3.6.4, excluding angle-brackets.
        Not provided for all types of suppressions.


        :return: The message_id of this Suppression.
        :rtype: str
        ©r   r(   r#   r#   r$   r     r)   zSuppression.message_idc                 C   r*   )ap  
        Sets the message_id of this Suppression.
        The value of the Message-ID header from the email that triggered a suppression.
        This value is as defined in RFC 5322 section 3.6.4, excluding angle-brackets.
        Not provided for all types of suppressions.


        :param message_id: The message_id of this Suppression.
        :type: str
        Nr2   )r!   r   r#   r#   r$   r   *  r+   c                 C   r&   )al  
        Gets the error_detail of this Suppression.
        The specific error message returned by a system that resulted in the suppression.
        This message is usually an SMTP error code with additional descriptive text.
        Not provided for all types of suppressions.


        :return: The error_detail of this Suppression.
        :rtype: str
        ©r   r(   r#   r#   r$   r   8  r)   zSuppression.error_detailc                 C   r*   )aw  
        Sets the error_detail of this Suppression.
        The specific error message returned by a system that resulted in the suppression.
        This message is usually an SMTP error code with additional descriptive text.
        Not provided for all types of suppressions.


        :param error_detail: The error_detail of this Suppression.
        :type: str
        Nr3   )r!   r   r#   r#   r$   r   F  r+   c                 C   r&   )a5  
        Gets the error_source of this Suppression.
        DNS name of the source of the error that caused the suppression.
        Will be set to either the remote-mta or reporting-mta field from a delivery status notification (RFC 3464) when available.
        Not provided for all types of suppressions, and not always known.

        Note: Most SMTP errors that cause suppressions come from software run by email receiving systems rather than from OCI email delivery itself.


        :return: The error_source of this Suppression.
        :rtype: str
        ©r    r(   r#   r#   r$   r   T  s   zSuppression.error_sourcec                 C   r*   )a@  
        Sets the error_source of this Suppression.
        DNS name of the source of the error that caused the suppression.
        Will be set to either the remote-mta or reporting-mta field from a delivery status notification (RFC 3464) when available.
        Not provided for all types of suppressions, and not always known.

        Note: Most SMTP errors that cause suppressions come from software run by email receiving systems rather than from OCI email delivery itself.


        :param error_source: The error_source of this Suppression.
        :type: str
        Nr4   )r!   r   r#   r#   r$   r   d  s   
c                 C   s   t | ƒS ©N)r   r(   r#   r#   r$   Ú__repr__t  s   zSuppression.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r!   Úotherr#   r#   r$   Ú__eq__w  s   zSuppression.__eq__c                 C   s
   | |k S r5   r#   r8   r#   r#   r$   Ú__ne__}  s   
zSuppression.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZREASON_UNKNOWNZREASON_HARDBOUNCEZREASON_COMPLAINTZREASON_MANUALZREASON_SOFTBOUNCEZREASON_UNSUBSCRIBEr%   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r6   r:   r;   r#   r#   r#   r$   r      s`    N

















r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r#   r#   r#   r$   Ú<module>   s   