Overview

Namespaces

  • Cloudflare
    • Organizations
      • Firewall
        • AccessRules
    • User
      • Billing
        • Subscriptions
      • Firewall
    • Zone
      • Firewall
      • SSL
      • WAF
        • Packages

Classes

  • Cloudflare\Api
  • Cloudflare\Certificates
  • Cloudflare\IPs
  • Cloudflare\Organizations\Firewall\AccessRules\Rules
  • Cloudflare\Organizations\Invites
  • Cloudflare\Organizations\Members
  • Cloudflare\Organizations\Organizations
  • Cloudflare\Organizations\Railguns
  • Cloudflare\Organizations\Roles
  • Cloudflare\Organizations\Virtual_Dns
  • Cloudflare\Railguns
  • Cloudflare\User
  • Cloudflare\User\Billing
  • Cloudflare\User\Billing\Subscriptions\Apps
  • Cloudflare\User\Billing\Subscriptions\Zones
  • Cloudflare\User\Firewall\AccessRules
  • Cloudflare\User\Invites
  • Cloudflare\User\Organizations
  • Cloudflare\User\Virtual_Dns
  • Cloudflare\Zone
  • Cloudflare\Zone\Analytics
  • Cloudflare\Zone\Cache
  • Cloudflare\Zone\CustomPages
  • Cloudflare\Zone\CustomSSL
  • Cloudflare\Zone\Dns
  • Cloudflare\Zone\Firewall\AccessRules
  • Cloudflare\Zone\KeylessSSL
  • Cloudflare\Zone\Pagerules
  • Cloudflare\Zone\Plan
  • Cloudflare\Zone\Railgun
  • Cloudflare\Zone\Settings
  • Cloudflare\Zone\SSL
  • Cloudflare\Zone\SSL\Analyze
  • Cloudflare\Zone\SSL\CertificatePacks
  • Cloudflare\Zone\WAF\Packages
  • Cloudflare\Zone\WAF\Packages\Groups
  • Cloudflare\Zone\WAF\Packages\Rules
  • Overview
  • Namespace
  • Class
 1: <?php
 2: 
 3: namespace Cloudflare\Zone\WAF;
 4: 
 5: use Cloudflare\Api;
 6: use Cloudflare\Zone;
 7: use Cloudflare\Zone\WAF;
 8: 
 9: /**
10:  * CloudFlare API wrapper
11:  *
12:  * WAF Rule Packages properties
13:  *
14:  * @author James Bell <[email protected]>
15:  *
16:  * @version 1
17:  */
18: class Packages extends Api
19: {
20:     /**
21:      * Default permissions level
22:      *
23:      * @var array
24:      */
25:     protected $permission_level = ['read' => '#zone:read', 'edit' => '#zone:edit'];
26: 
27:     /**
28:      * List firewall packages (permission needed: #zone:read)
29:      * Retrieve firewall packages for a zone
30:      *
31:      * @param string      $zone_identifier
32:      * @param string|null $name            Name of the firewall package
33:      * @param int|null    $page            Page number of paginated results
34:      * @param int|null    $per_page        Number of packages per page
35:      * @param string|null $order           Field to order packages by
36:      * @param string|null $direction       Direction to order packages
37:      * @param string|null $match           Whether to match all search requirements or at least one (any)
38:      */
39:     public function rules($zone_identifier, $name = null, $page = null, $per_page = null, $order = null, $direction = null, $match = null)
40:     {
41:         $data = [
42:             'name'      => $name,
43:             'page'      => $page,
44:             'per_page'  => $per_page,
45:             'order'     => $order,
46:             'direction' => $direction,
47:             'match'     => $match,
48:         ];
49: 
50:         return $this->get('/zones/'.$zone_identifier.'/firewall/waf/packages', $data);
51:     }
52: 
53:     /**
54:      * Firewall package info (permission needed: #zone:read)
55:      * Get information about a single firewall package
56:      *
57:      * @param string $zone_identifier
58:      * @param string $identifier
59:      */
60:     public function info($zone_identifier, $identifier)
61:     {
62:         return $this->get('/zones/'.$zone_identifier.'/firewall/waf/packages/'.$identifier);
63:     }
64: 
65:     /**
66:      * Change anomaly-detection web application firewall package settings (permission needed: #zone:edit)
67:      * Change the sensitivity and action for an anomaly detection type WAF rule package
68:      *
69:      * @param string      $zone_identifier
70:      * @param string      $identifier
71:      * @param string|null $sensitivity     The sensitivity of the firewall package.
72:      * @param string|null $action_mode     The default action that will be taken for rules under the firewall package.
73:      */
74:     public function update(string $zone_identifier, $identifier, $sensitivity = null, $action_mode = null)
75:     {
76:         $data = [
77:             'sensitivity' => $sensitivity,
78:             'action_mode' => $action_mode,
79:         ];
80: 
81:         return $this->patch('/zones/'.$zone_identifier.'/firewall/waf/packages/'.$identifier, $data);
82:     }
83: }
84: 
API documentation generated by ApiGen