o
    ɶd1                     @   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dd Zdd Zdd ZdS )Recommendationa4  
    A recommended protection rule for a web application. This recommendation can be accepted to apply it to the Web Application Firewall configuration for this policy.

    Use the `POST /waasPolicies/{waasPolicyId}/actions/acceptWafConfigRecommendations` method to accept recommended protection rules.
    c                 K   sP   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 Recommendation object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param key:
            The value to assign to the key property of this Recommendation.
        :type key: str

        :param mod_security_rule_ids:
            The value to assign to the mod_security_rule_ids property of this Recommendation.
        :type mod_security_rule_ids: list[str]

        :param name:
            The value to assign to the name property of this Recommendation.
        :type name: str

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

        :param labels:
            The value to assign to the labels property of this Recommendation.
        :type labels: list[str]

        :param recommended_action:
            The value to assign to the recommended_action property of this Recommendation.
        :type recommended_action: str

        strz	list[str])keymod_security_rule_idsnamedescriptionlabelsrecommended_actionr   ZmodSecurityRuleIdsr
   r   r   ZrecommendedActionN)Zswagger_typesZattribute_map_key_mod_security_rule_ids_name_description_labels_recommended_action)selfkwargs r   Busr/lib/python3.10/site-packages/oci/waas/models/recommendation.py__init__   s(   
	
zRecommendation.__init__c                 C      | j S )z
        Gets the key of this Recommendation.
        The unique key for the recommended protection rule.


        :return: The key of this Recommendation.
        :rtype: str
        r   r   r   r   r   r   K      
zRecommendation.keyc                 C   
   || _ dS )z
        Sets the key of this Recommendation.
        The unique key for the recommended protection rule.


        :param key: The key of this Recommendation.
        :type: str
        Nr   )r   r   r   r   r   r   W      

c                 C   r   )a  
        Gets the mod_security_rule_ids of this Recommendation.
        The list of the ModSecurity rule IDs associated with the protection rule.
        For more information about ModSecurity's open source WAF rules, see `Mod Security's documentation`__.

        __ https://www.modsecurity.org/CRS/Documentation/index.html


        :return: The mod_security_rule_ids of this Recommendation.
        :rtype: list[str]
        r   r   r   r   r   r	   c   s   z$Recommendation.mod_security_rule_idsc                 C   r   )a  
        Sets the mod_security_rule_ids of this Recommendation.
        The list of the ModSecurity rule IDs associated with the protection rule.
        For more information about ModSecurity's open source WAF rules, see `Mod Security's documentation`__.

        __ https://www.modsecurity.org/CRS/Documentation/index.html


        :param mod_security_rule_ids: The mod_security_rule_ids of this Recommendation.
        :type: list[str]
        Nr   )r   r	   r   r   r   r	   r   s   
c                 C   r   )z
        Gets the name of this Recommendation.
        The name of the recommended protection rule.


        :return: The name of this Recommendation.
        :rtype: str
        r   r   r   r   r   r
      r   zRecommendation.namec                 C   r   )z
        Sets the name of this Recommendation.
        The name of the recommended protection rule.


        :param name: The name of this Recommendation.
        :type: str
        Nr    )r   r
   r   r   r   r
      r   c                 C   r   )z
        Gets the description of this Recommendation.
        The description of the recommended protection rule.


        :return: The description of this Recommendation.
        :rtype: str
        r   r   r   r   r   r      r   zRecommendation.descriptionc                 C   r   )z
        Sets the description of this Recommendation.
        The description of the recommended protection rule.


        :param description: The description of this Recommendation.
        :type: str
        Nr!   )r   r   r   r   r   r      r   c                 C   r   )z
        Gets the labels of this Recommendation.
        The list of labels for the recommended protection rule.


        :return: The labels of this Recommendation.
        :rtype: list[str]
        r   r   r   r   r   r      r   zRecommendation.labelsc                 C   r   )z
        Sets the labels of this Recommendation.
        The list of labels for the recommended protection rule.


        :param labels: The labels of this Recommendation.
        :type: list[str]
        Nr"   )r   r   r   r   r   r      r   c                 C   r   )z
        Gets the recommended_action of this Recommendation.
        The recommended action to apply to the protection rule.


        :return: The recommended_action of this Recommendation.
        :rtype: str
        r   r   r   r   r   r      r   z!Recommendation.recommended_actionc                 C   r   )z
        Sets the recommended_action of this Recommendation.
        The recommended action to apply to the protection rule.


        :param recommended_action: The recommended_action of this Recommendation.
        :type: str
        Nr#   )r   r   r   r   r   r      r   c                 C   s   t | S N)r   r   r   r   r   __repr__   s   zRecommendation.__repr__c                 C   s   |d u rdS | j |j kS )NF)__dict__r   otherr   r   r   __eq__   s   zRecommendation.__eq__c                 C   s
   | |k S r$   r   r'   r   r   r   __ne__   s   
zRecommendation.__ne__N)__name__
__module____qualname____doc__r   propertyr   setterr	   r
   r   r   r   r%   r)   r*   r   r   r   r   r      s<    7











r   N)Zoci.utilr   r   r   Zoci.decoratorsr   objectr   r   r   r   r   <module>   s   