class CloudflareClient::Zone::Firewall::AccessRule
Constants
- VALID_CASCADES
- VALID_CONFIG_TARGETS
- VALID_MODES
- VALID_ORDERS
- VALID_SCOPE_TYPES
Public Instance Methods
create(mode:, configuration:, notes: nil)
click to toggle source
create firewall access rule
# File lib/cloudflare_client/zone/firewall/access_rule.rb, line 50 def create(mode:, configuration:, notes: nil) valid_value_check(:mode, mode, VALID_MODES) if configuration.is_a?(Hash) unless configuration.keys.map(&:to_sym).sort == [:target, :value] raise 'configuration must contain valid a valid target and value' end else raise 'configuration must be a valid configuration object' end data = {mode: mode, configuration: configuration} data[:notes] = notes unless notes.nil? cf_post(path: "/zones/#{zone_id}/firewall/access_rules/rules", data: data) end
delete(id:, cascade: 'none')
click to toggle source
delete a firewall access rule
# File lib/cloudflare_client/zone/firewall/access_rule.rb, line 81 def delete(id:, cascade: 'none') id_check('id', id) valid_value_check(:cascade, cascade, VALID_CASCADES) cf_delete(path: "/zones/#{zone_id}/firewall/access_rules/rules/#{id}") end
list(notes: nil, mode: nil, match: nil, scope_type: nil, configuration_value: nil, order: nil, page: 1, per_page: 50, configuration_target: nil, direction: 'desc')
click to toggle source
firewall_access_rules_for_a_zone
# File lib/cloudflare_client/zone/firewall/access_rule.rb, line 10 def list(notes: nil, mode: nil, match: nil, scope_type: nil, configuration_value: nil, order: nil, page: 1, per_page: 50, configuration_target: nil, direction: 'desc') params = {page: page, per_page: per_page} params[:notes] = notes unless notes.nil? params[:configuration_value] = configuration_value unless configuration_value.nil? unless mode.nil? valid_value_check(:mode, mode, VALID_MODES) params[:mode] = mode end unless match.nil? valid_value_check(:match, match, VALID_MATCHES) params[:match] = match end unless scope_type.nil? valid_value_check(:scope_type, scope_type, VALID_SCOPE_TYPES) params[:scope_type] = scope_type end unless configuration_target.nil? valid_value_check(:configuration_target, configuration_target, VALID_CONFIG_TARGETS) params[:configuration_target] = configuration_target end unless direction.nil? valid_value_check(:direction, direction, VALID_DIRECTIONS) params[:direction] = direction end unless order.nil? valid_value_check(:order, order, VALID_ORDERS) params[:order] = order end cf_get(path: "/zones/#{zone_id}/firewall/access_rules/rules", params: params) end
update(id:, mode: nil, notes: nil)
click to toggle source
updates firewall_access_rule
# File lib/cloudflare_client/zone/firewall/access_rule.rb, line 68 def update(id:, mode: nil, notes: nil) id_check('id', id) valid_value_check(:mode, mode, VALID_MODES) unless mode.nil? data = {} data[:mode] = mode unless mode.nil? data[:notes] = notes unless notes.nil? cf_patch(path: "/zones/#{zone_id}/firewall/access_rules/rules/#{id}", data: data) end