ciscoconfparse.models_cisco.IOSIntfLine Object¶
- class ciscoconfparse.models_cisco.IOSIntfLine(*args, **kwargs)¶
Accept an IOS line number and initialize family relationship attributes
Warning
All
IOSIntfLine
methods are still considered beta-quality, until this notice is removed. The behavior of APIs on this object could change at any time.- __eq__(val)¶
Return self==value.
- __gt__(val)¶
Return self>value.
- __hash__()¶
Return hash(self).
- __lt__(val)¶
Return self<value.
- __repr__()¶
Return repr(self).
- __str__()¶
Return str(self).
- property abbvs¶
A python set of valid abbreviations (lowercased) for the interface
- property access_vlan¶
Return an integer with the access vlan number. Return 1, if the switchport has no explicit vlan configured; return 0 if the port isn’t a switchport
- calculate_line_id()¶
Calculate and return an integer line_id for BaseCfgLine()
The hash() of self.text is used to build a numerical identity for a given BaseCfgLine().
Do NOT cache this value. It must be recalculated when self._text changes.
- property description¶
Return the current interface description string.
- property diff_id_list¶
Return a list of integers as a context-sensitive diff identifier.
The returned value includes line_id of all parents. The oldest ancestor / parent line_id is last in the returned list of line_id hash values.
object id integers are NOT the same between script runs.
- property diff_side¶
A diff_side getter attribute (typically used in HDiff())
- property diff_word¶
A diff_word getter attribute (typically used in HDiff())
- property geneology¶
Iterate through to the oldest ancestor of this object, and return a list of all ancestors’ objects in the direct line as well as this obj. Cousins or aunts / uncles are not returned. Note: children of this object are not returned.
- property geneology_text¶
Iterate through to the oldest ancestor of this object, and return a list of all ancestors’ .text field for all ancestors in the direct line as well as this obj. Cousins or aunts / uncles are not returned. Note: children of this object are not returned.
- property has_ip_helper_addresses¶
Return a True if the intf has helper-addresses; False if not
- property has_manual_carrierdelay¶
Return a python boolean for whether carrier delay is manually configured on the interface
- property has_no_ip_proxyarp¶
Return a boolean for whether no ip proxy-arp is configured on the interface.
- Returns:
- bool
Examples
This example illustrates use of the method.
>>> from ciscoconfparse.ccp_util import IPv4Obj >>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... ' no ip proxy-arp', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.has_no_ip_proxyarp True >>>
- property hash_children¶
Return a unique hash of all children (if the number of children > 0)
- in_ipv4_subnet(ipv4network=<IPv4Obj 0.0.0.0/32>)¶
Accept an argument for the
IPv4Obj
to be considered, and return a boolean for whether this interface is within the requestedIPv4Obj
.- Parameters:
- ipv4network
IPv4Obj
An object to compare against IP addresses configured on this
IOSIntfLine
object.
- ipv4network
- Returns:
- bool
If there is an ip address, or None if there is no ip address.
Examples
This example illustrates use of the method.
>>> from ciscoconfparse.ccp_util import IPv4Obj >>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface Serial1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sSerial')[0] >>> obj <IOSIntfLine # 1 'Serial1/0' info: '1.1.1.1/30'> >>> obj.in_ipv4_subnet(IPv4Obj('1.1.1.0/24', strict=False)) True >>> obj.in_ipv4_subnet(IPv4Obj('2.1.1.0/24', strict=False)) False >>>
- in_ipv4_subnets(subnets=None)¶
Accept a set or list of ccp_util.IPv4Obj objects, and return a boolean for whether this interface is within the requested subnets.
- property index¶
Alias index to linenum
- property interface_number¶
Return a string representing the card, slot, port for this interface. If you call interface_number on GigabitEthernet2/25.100, you’ll get this python string: ‘2/25’. If you call interface_number on GigabitEthernet2/0/25.100 you’ll get this python string ‘2/0/25’. This method strips all subinterface information in the returned value.
- Returns:
- str
Warning
interface_number should silently fail (returning an empty python string) if the interface doesn’t parse correctly
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.interface_number '1/0' >>> obj = parse.find_objects('^interface\sATM')[-1] >>> obj.interface_number '2/0' >>>
- property intf_in_portchannel¶
Return a boolean indicating whether this port is configured in a port-channel
- Returns:
- bool
- property ioscfg¶
Return a list with this the text of this object, and with all children in the direct line.
- property ip_helper_addresses¶
Return a list of dicts with IP helper-addresses. Each helper-address is in a dictionary. The dictionary is in this format:
Examples
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/1', ... ' ip address 1.1.1.1 255.255.255.0', ... ' ip helper-address 172.16.20.12', ... ' ip helper-address 172.19.185.91', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> obj = parse.find_objects('^interface\sFastEthernet1/1$')[0] >>> obj.ip_helper_addresses [{'addr': '172.16.20.12', 'vrf': '', 'global': False}, {'addr': '172.19.185.91', 'vrf': '', 'global': False}] >>>
- property ipv4_addr¶
Return a string with the interface’s IPv4 address, or ‘’ if there is none
- property ipv4_addr_object¶
Return a ccp_util.IPv4Obj object representing the address on this interface; if there is no address, return IPv4Obj(‘0.0.0.1/32’)
- property ipv4_masklength¶
Return an integer with the interface’s IPv4 mask length, or 0 if there is no IP address on the interace
- property ipv4_netmask¶
Return a string with the interface’s IPv4 netmask, or ‘’ if there is none
- property ipv4_network_object¶
Return an ccp_util.IPv4Obj object representing the subnet on this interface; if there is no address, return ccp_util.IPv4Obj(‘0.0.0.1/32’)
- is_abbreviated_as(val)¶
Test whether val is a good abbreviation for the interface
- property is_config_line¶
Return a boolean for whether this is a config statement; returns False if this object is a blank line, or a comment.
- property is_ethernet_intf¶
Returns a boolean (True or False) to answer whether this
IOSCfgLine
is an ethernet interface. Any ethernet interface (10M through 10G) is considered an ethernet interface.- Returns:
- bool
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.is_ethernet_intf True >>> obj = parse.find_objects('^interface\sATM')[0] >>> obj.is_ethernet_intf False >>>
- property is_intf¶
Returns a boolean (True or False) to answer whether this
IOSCfgLine
is an interface; subinterfaces also return True.- Returns:
- bool
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface Serial1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> obj = parse.find_objects('^interface\sSerial')[0] >>> obj.is_intf True >>> obj = parse.find_objects('^interface\sATM')[0] >>> obj.is_intf True >>>
- property is_loopback_intf¶
Returns a boolean (True or False) to answer whether this
IOSCfgLine
is a loopback interface.- Returns:
- bool
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface Loopback0', ... ' ip address 1.1.1.5 255.255.255.255', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> obj = parse.find_objects(r'^interface\sFast')[0] >>> obj.is_loopback_intf False >>> obj = parse.find_objects(r'^interface\sLoop')[0] >>> obj.is_loopback_intf True >>>
- property is_portchannel_intf¶
Return a boolean indicating whether this port is a port-channel intf
- Returns:
- bool
- property is_subintf¶
Returns a boolean (True or False) to answer whether this
IOSCfgLine
is a subinterface.- Returns:
- bool
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface Serial1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> obj = parse.find_objects(r'^interface\sSerial')[0] >>> obj.is_subintf False >>> obj = parse.find_objects(r'^interface\sATM')[0] >>> obj.is_subintf True >>>
- property lineage¶
Iterate through to the oldest ancestor of this object, and return a list of all ancestors / children in the direct line. Cousins or aunts / uncles are not returned. Note: all children of this object are returned.
- property manual_arp_timeout¶
Return an integer with the current interface ARP timeout, if there isn’t one set, return 0. If there is no IP address, return -1
- property manual_carrierdelay¶
Return the manual carrier delay (in seconds) of the interface as a python float. If there is no explicit carrier delay, return 0.0
- property manual_clock_rate¶
Return the clock rate of the interface as a python integer. If there is no explicit clock rate, return 0
- property manual_holdqueue_in¶
Return the current hold-queue in depth, if default return 0
- property manual_holdqueue_out¶
Return the current hold-queue out depth, if default return 0
- property manual_mtu¶
Returns a integer value for the manual MTU configured on an
IOSIntfLine
object. Interfaces without a manual MTU configuration return 0.- Returns:
- int
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' mtu 4470', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.manual_mtu 0 >>> obj = parse.find_objects('^interface\sATM')[0] >>> obj.manual_mtu 4470 >>>
- property name¶
Return the interface name as a string, such as ‘GigabitEthernet0/1’
- Returns:
- str
The interface name as a string, or ‘’ if the object is not an interface.
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.name 'FastEthernet1/0' >>> obj = parse.find_objects('^interface\sATM')[0] >>> obj.name 'ATM2/0' >>> obj = parse.find_objects('^interface\sATM')[1] >>> obj.name 'ATM2/0.100' >>>
- property native_vlan¶
Return an integer with the native vlan number. Return 1, if the switchport has no explicit native vlan configured; return 0 if the port isn’t a switchport
- property ordinal_list¶
Return a tuple of numbers representing card, slot, port for this interface. If you call ordinal_list on GigabitEthernet2/25.100, you’ll get this python tuple of integers: (2, 25). If you call ordinal_list on GigabitEthernet2/0/25.100 you’ll get this python list of integers: (2, 0, 25). This method strips all subinterface information in the returned value.
- Returns:
- tuple
A tuple of port numbers as integers.
Warning
ordinal_list should silently fail (returning an empty python list) if the interface doesn’t parse correctly
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.ordinal_list (1, 0) >>> obj = parse.find_objects('^interface\sATM')[0] >>> obj.ordinal_list (2, 0) >>>
- property port¶
Return the interface’s port number
- Returns:
- int
The interface number.
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.port 0 >>> obj = parse.find_objects('^interface\sATM')[0] >>> obj.port 0 >>>
- property port_type¶
Return Loopback, ATM, GigabitEthernet, Virtual-Template, etc…
- Returns:
- str
The port type.
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.port_type 'FastEthernet' >>> obj = parse.find_objects('^interface\sATM')[0] >>> obj.port_type 'ATM' >>>
- property portchannel_number¶
Return an integer for the port-channel which it’s configured in. Return -1 if it’s not configured in a port-channel
- Returns:
- bool
- re_match(regex, group=1, default='')¶
Use
regex
to search theIOSCfgLine
text and return the regular expression group, at the integer index. Parameters ———- regex : strA string or python regular expression, which should be matched. This regular expression should contain parenthesis, which bound a match group.
- groupint
An integer which specifies the desired regex group to be returned.
group
defaults to 1.- defaultstr
The default value to be returned, if there is no match. By default an empty string is returned if there is no match.
Returns¶
- str
The text matched by the regular expression group; if there is no match,
default
is returned.
Examples¶
This example illustrates how you can use
re_match()
to store the mask of the interface which owns “1.1.1.5” in a variable callednetmask
. .. code-block:: python- emphasize-lines:
14
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface Serial1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface Serial1/1', ... ' ip address 1.1.1.5 255.255.255.252', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> >>> for obj in parse.find_objects(r'ip\saddress'): ... netmask = obj.re_match(r'1\.1\.1\.5\s(\S+)') >>> >>> print("The netmask is", netmask) The netmask is 255.255.255.252 >>>
- re_match_iter_typed(regex, group=1, result_type=<class 'str'>, default='', untyped_default=False, recurse=False)¶
Use
regex
to search the children ofIOSCfgLine
text and return the contents of the regular expression group, at the integergroup
index, cast asresult_type
; if there is no match,default
is returned. Parameters ———- regex : strA string or python compiled regular expression, which should be matched. This regular expression should contain parenthesis, which bound a match group.
- groupint
An integer which specifies the desired regex group to be returned.
group
defaults to 1.- result_typetype
A type (typically one of:
str
,int
,float
, orIPv4Obj
). All returned values are cast asresult_type
, which defaults tostr
.- defaultany
The default value to be returned, if there is no match.
- recursebool
Set True if you want to search all children (children, grand children, great grand children, etc…)
- untyped_defaultbool
Set True if you don’t want the default value to be typed
Returns¶
result_type
The text matched by the regular expression group; if there is no match,
default
is returned. All values are cast asresult_type
, unless untyped_default is True.
Notes¶
This loops through the children (in order) and returns when the regex hits its first match. Examples ——– This example illustrates how you can use
re_match_iter_typed()
to build anIPv4Obj()
address object for each interface.>>> import re >>> from ciscoconfparse import CiscoConfParse >>> from ciscoconfparse.ccp_util import IPv4Obj >>> config = [ ... '!', ... 'interface Serial1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface Serial2/0', ... ' ip address 1.1.1.5 255.255.255.252', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> INTF_RE = re.compile(r'interface\s\S+') >>> ADDR_RE = re.compile(r'ip\saddress\s(\S+\s+\S+)') >>> for obj in parse.find_objects(INTF_RE): ... print("{} {}".format(obj.text, obj.re_match_iter_typed(ADDR_RE, result_type=IPv4Obj))) interface Serial1/0 <IPv4Obj 1.1.1.1/30> interface Serial2/0 <IPv4Obj 1.1.1.5/30> >>>
- re_match_typed(regex, group=1, untyped_default=False, result_type=<class 'str'>, default='')¶
Use
regex
to search theIOSCfgLine
text and return the contents of the regular expression group, at the integergroup
index, cast asresult_type
; if there is no match,default
is returned. Parameters ———- regex : strA string or python regular expression, which should be matched. This regular expression should contain parenthesis, which bound a match group.
- groupint
An integer which specifies the desired regex group to be returned.
group
defaults to 1.- result_typetype
A type (typically one of:
str
,int
,float
, orIPv4Obj
). All returned values are cast asresult_type
, which defaults tostr
.- defaultany
The default value to be returned, if there is no match.
- untyped_defaultbool
Set True if you don’t want the default value to be typed
Returns¶
result_type
The text matched by the regular expression group; if there is no match,
default
is returned. All values are cast asresult_type
, unless untyped_default is True.
Examples¶
This example illustrates how you can use
re_match_typed()
to build an association between an interface name, and its numerical slot value. The name will be cast asstr()
, and the slot will be cast asint()
. .. code-block:: python- emphasize-lines:
15,16,17,18,19
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface Serial1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface Serial2/0', ... ' ip address 1.1.1.5 255.255.255.252', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> >>> slots = dict() >>> for obj in parse.find_objects(r'^interface'): ... name = obj.re_match_typed(regex=r'^interface\s(\S+)', ... default='UNKNOWN') ... slot = obj.re_match_typed(regex=r'Serial(\d+)', ... result_type=int, ... default=-1) ... print("Interface {0} is in slot {1}".format(name, slot)) ... Interface Serial1/0 is in slot 1 Interface Serial2/0 is in slot 2 >>>
- re_search(regex, default='', debug=0)¶
Search
IOSCfgLine
withregex
- Parameters:
- regexstr
A string or python regular expression, which should be matched.
- defaultstr
A value which is returned if
re_search()
doesn’t find a match while looking forregex
.- Returns
- ——-
- str
The
IOSCfgLine
text which matched. If there is no match,default
is returned.
- re_search_children(regex, recurse=False)¶
Use
regex
to search the text contained in the children of thisIOSCfgLine
. Parameters ———- regex : strA string or python regular expression, which should be matched.
- recursebool
Set True if you want to search all children (children, grand children, great grand children, etc…)
Returns¶
- list
A list of matching
IOSCfgLine
objects which matched. If there is no match, an emptylist()
is returned.
- re_sub(regex, replacergx, ignore_rgx=None)¶
Replace all strings matching
linespec
withreplacestr
in theIOSCfgLine
object; however, if theIOSCfgLine
text matchesignore_rgx
, then the text is not replaced. Parameters ———- regex : strA string or python regular expression, which should be matched.
- replacergxstr
A string or python regular expression, which should replace the text matched by
regex
.- ignore_rgxstr
A string or python regular expression; the replacement is skipped if
IOSCfgLine
text matchesignore_rgx
.ignore_rgx
defaults to None, which means no lines matchingregex
are skipped.
- Returns:
- str
The new text after replacement
Examples
This example illustrates how you can use
re_sub()
to replaceSerial1
withSerial0
in a configuration… .. code-block:: python- emphasize-lines:
15
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface Serial1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface Serial1/1', ... ' ip address 1.1.1.5 255.255.255.252', ... '!', ... ] >>> parse = CiscoConfParse(config) >>> >>> for obj in parse.find_objects('Serial'): ... print("OLD {}".format(obj.text)) ... obj.re_sub(r'Serial1', r'Serial0') ... print(" NEW {}".format(obj.text)) OLD interface Serial1/0 NEW interface Serial0/0 OLD interface Serial1/1 NEW interface Serial0/1 >>>
- safe_escape_curly_braces(text)¶
Escape curly braces in strings since they could be misunderstood as f-string or string.format() delimiters…
If BaseCfgLine receives line with curly-braces, this method can escape the curly braces so they are not mis-interpreted as python string formatting delimiters.
- set_comment_bool()¶
Set the .is_comment attribute for this object.
- property subinterface_number¶
Return a string representing the card, slot, port for this interface or subinterface. If you call subinterface_number on GigabitEthernet2/25.100, you’ll get this python string: ‘2/25.100’. If you call interface_number on GigabitEthernet2/0/25 you’ll get this python string ‘2/0/25’. This method strips all subinterface information in the returned value.
- Returns:
- str
Warning
subinterface_number should silently fail (returning an empty python string) if the interface doesn’t parse correctly
Examples
This example illustrates use of the method.
>>> from ciscoconfparse import CiscoConfParse >>> config = [ ... '!', ... 'interface FastEthernet1/0', ... ' ip address 1.1.1.1 255.255.255.252', ... '!', ... 'interface ATM2/0', ... ' no ip address', ... '!', ... 'interface ATM2/0.100 point-to-point', ... ' ip address 1.1.1.5 255.255.255.252', ... ' pvc 0/100', ... ' vbr-nrt 704 704', ... '!', ... ] >>> parse = CiscoConfParse(config, factory=True) >>> obj = parse.find_objects('^interface\sFast')[0] >>> obj.subinterface_number '1/0' >>> obj = parse.find_objects('^interface\sATM')[-1] >>> obj.subinterface_number '2/0.100' >>>
- property text¶
Get the self.text attribute
- property trunk_vlans_allowed¶
Return a CiscoRange() with the list of allowed vlan numbers (as int). Return 0 if the port isn’t a switchport in trunk mode
- property uncfgtext¶
Return a ‘best-effort’ Cisco IOS-style config to remove this configuration object.
This uncfgtext string should not be considered correct in all Cisco IOS command unconfigure cases.