o
    Á¿iˆ
  ã                	   @   sB   d Z ddlmZmZmZmZmZmZ G dd„ deeeeeeƒZdS )z
Security Monitoring Rule API.
é    )ÚGetableAPIResourceÚCreateableAPIResourceÚListableAPIResourceÚUpdatableAPIResourceÚDeletableAPIResourceÚActionAPIResourcec                       sl   e Zd ZdZdZdZe‡ fdd„ƒZe‡ fdd„ƒZe‡ fdd	„ƒZ	e‡ fd
d„ƒZ
e‡ fdd„ƒZ‡  ZS )ÚSecurityMonitoringRulez8
    A wrapper around Security Monitoring Rule API.
    zsecurity_monitoring/rulesÚv2c                    ó   t t| ƒjdi |¤ŽS )zä
        Get all security monitoring rules.

        :param params: additional parameters to filter security monitoring rules
        :type params: dict

        :returns: Dictionary representing the API's JSON response
        N© )Úsuperr   Úget_all©ÚclsÚparams©Ú	__class__r   úY/home/ubuntu/.local/lib/python3.10/site-packages/datadog/api/security_monitoring_rules.pyr   !   ó   
zSecurityMonitoringRule.get_allc                    ó   t t| ƒj|fi |¤ŽS )zÕ
        Get a security monitoring rule's details.

        :param rule_id: ID of the security monitoring rule
        :type rule_id: str

        :returns: Dictionary representing the API's JSON response
        )r   r   Úget©r   Úrule_idr   r   r   r   r   -   ó   
zSecurityMonitoringRule.getc                    r
   )zá
        Create a security monitoring rule.

        :param params: Parameters to create the security monitoring rule with
        :type params: dict

        :returns: Dictionary representing the API's JSON response
        Nr   )r   r   Úcreater   r   r   r   r   9   r   zSecurityMonitoringRule.createc                    r   )aA  
        Update a security monitoring rule.

        :param rule_id: ID of the security monitoring rule to update
        :type rule_id: str
        :param params: Parameters to update the security monitoring rule with
        :type params: dict

        :returns: Dictionary representing the API's JSON response
        )r   r   Úupdater   r   r   r   r   E   s   zSecurityMonitoringRule.updatec                    r   )zØ
        Delete a security monitoring rule.

        :param rule_id: ID of the security monitoring rule to delete
        :type rule_id: str

        :returns: Dictionary representing the API's JSON response
        )r   r   Údeleter   r   r   r   r   S   r   zSecurityMonitoringRule.delete)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú_resource_nameÚ_api_versionÚclassmethodr   r   r   r   r   Ú__classcell__r   r   r   r   r      s    r   N)	r    Údatadog.api.resourcesr   r   r   r   r   r   r   r   r   r   r   Ú<module>   s    

ú