class CloudflareClient::Zone::Firewall::WAFPackage::Rule

Constants

VALID_MODES
VALID_ORDERS

Public Instance Methods

list(mode: {}, priority: nil, match: 'all', order: 'priority', page: 1, per_page: 50, group_id: nil, description: nil, direction: 'desc') click to toggle source

list waf rules

# File lib/cloudflare_client/zone/firewall/waf_package/rule.rb, line 10
def list(mode: {}, priority: nil, match: 'all', order: 'priority', page: 1, per_page: 50, group_id: nil, description: nil, direction: 'desc')
  #FIXME: mode isn't documented in api, ask CF
  #FIXME: priority is read only?, ask CF
  params = {page: page, per_page: per_page}

  valid_value_check(:match, match, VALID_MATCHES)
  params[:match] = match

  valid_value_check(:order, order, VALID_ORDERS)
  params[:order] = order

  valid_value_check(:direction, direction, VALID_DIRECTIONS)
  params[:direction] = direction

  params[:group_id] unless group_id.nil?
  params[:description] unless description.nil?

  cf_get(path: "/zones/#{zone_id}/firewall/waf/packages/#{package_id}/rules", params: params)
end
show(id:) click to toggle source

get a single waf rule

# File lib/cloudflare_client/zone/firewall/waf_package/rule.rb, line 32
def show(id:)
  id_check('id', id)

  cf_get(path: "/zones/#{zone_id}/firewall/waf/packages/#{package_id}/rules/#{id}")
end
update(id:, mode: 'on') click to toggle source

update a waf rule

# File lib/cloudflare_client/zone/firewall/waf_package/rule.rb, line 40
def update(id:, mode: 'on')
  id_check('id', id)
  valid_value_check(:mode, mode, VALID_MODES)

  cf_patch(path: "/zones/#{zone_id}/firewall/waf/packages/#{package_id}/rules/#{id}", data: {mode: mode})
end