class Conpar::Directive::AccessList::Extended
Class that maps directly to Cisco extended ACL definition See www.cisco.com/c/en/us/td/docs/security/asa/asa91/configuration/general/asa_91_general_config/acl_extended.html
Constants
- SIGNATURE
(0.1.4): “extended” should be followed by “permit” or “deny” (0.2.2): “extended” optional (legacy syntax support)
Public Class Methods
new(content="", options={})
click to toggle source
Calls superclass method
Conpar::Directive::AccessList::Base::new
# File lib/conpar/directive/access_list/extended.rb, line 17 def initialize(content="", options={}) super @sub_ilk = "extended" # host (ipaddr) mask (ipaddr) ipaddr_regex = %r/ (?<octet>1?[0-9]{1,2}|2([0-4][0-9]|5[0-5]))\.\k<octet>\.\k<octet>\.\k<octet> /x # access-list access_list_name [line line_number] [extended] # {deny | permit} protocol_argument source_address_argument dest_address_argument # [log [[level] [interval secs] | disable | default]] # [inactive | time-range time_range_name] parse_regex = %r/^ (access-list)\s+ # Directive Signature (?<name>#{NAME})\s+ # ACL Name (line\s+(?<line>\d+))?\s* # (optional) line number (?<type>extended)?\s* # (optional) ACL type (legacy syntax support) (?<permission>(permit|deny))?\s* # permit or deny (?<protocol>\w+)\s* # Protocol Argument (?<rule>.+) # Everything else on line $/x @match_data = parse_regex.match(@content) self end