CiscoIosParser

Quick Start

from ccutils.ccparser import CiscoIosParser
import pathlib

# Optinal - Create pathlib object pointing to your config file
path_to_file = pathlib.Path("/path/to/config_file.txt")

config = CiscoIosParser(config=path_to_file)

# Print number of config lines
print(len(config.lines))
class CiscoIosParser(config=None, verbosity=4, **kwargs)

Bases: ccutils.ccparser.BaseConfigParser.BaseConfigParser

INTERFACE_LINE_CLASS

alias of ccutils.ccparser.CiscoIosInterfaceLine.CiscoIosInterfaceLine

aaa_authorization_exec_methods
aaa_login_methods
all_ipv4_physical_addresses

Get all physical IPv4 addresses of device config.

Returns:List IPv4 Addresses

Example:

[
    "192.168.100.2",
    "192.168.101.2"
]

Returns empty list ([]) if absent

Return type:list
all_ipv4_standby_addresses

List IPv4 Addresses

Example:

[
    "192.168.100.1",
    "192.168.101.1"
]

Returns empty list ([]) if absent

Type:Returns
Type:list
cdp
domain_name
hostname
isis

type: Returns

logging
logging_global_params
logging_servers
name_servers
ntp
ntp_access_groups
ntp_authentication_keys
ntp_global_params
ntp_peers
ntp_servers

Property containing DNS servers related data

Returns:List of name server IP addresses

Example:

[
    "10.0.0.1",
    "10.0.0.2"
]

Returns None if absent

Return type:list
ntp_trusted_keys
ospf

type: Returns

radius_groups

List of RADIUS Server Groups Entries

Example:

[
    {
        "name": "RADIUS-GROUP",
        "source_interface": "Vlan100",
        "servers": [
            {
                "name": "RADIUS-Primary"
            }
        ]
    }
]

Returns None if absent

Type:Returns
Type:list
radius_servers

List of RADIUS Servers

Example:

[
    {
      "name": "RADIUS-Primary",
      "address_version": "ipv4",
      "server": "10.0.0.1",
      "encryption_type": null,
      "hash": "Test123",
      "timeout": "2",
      "retransmit": "1",
      "auth_port": "1812",
      "acct_port": "1813"
    },
    {
      "name": "RADIUS-Secondary",
      "address_version": "ipv4",
      "server": "10.0.1.1",
      "encryption_type": null,
      "hash": "Test123",
      "timeout": "2",
      "retransmit": "1",
      "auth_port": "1812",
      "acct_port": "1813"
    }
]

Returns None if absent

Type:Returns
Type:list
section_unprocessed_lines(parent, check_patterns)
tacacs_groups

List of TACACS Server entries

Example:

[
    {
        "name": "ISE-TACACS",
        "source_interface": "Loopback0",
        "servers": [
            {
                "name": "ISE-1"
            },
            {
                "name": "ISE-2"
            }
        ]
    }
]

Returns None if absent

Type:Returns
Type:list
tacacs_servers

List of TACACS Servers

Example:

[
    {
      "name": "ISE-1",
      "address_version": "ipv4",
      "server": "10.0.0.1",
      "encryption_type": "7",
      "hash": "36A03A8A4C00E81F03D62D8B04BBBF4D",
      "timeout": "10",
      "single_connection": true
    },
    {
      "name": "ISE-2",
      "address_version": "ipv4",
      "server": "10.0.1.1",
      "encryption_type": "7",
      "hash": "36A03A8A4C00E81F03D62D8B04BBBF4D",
      "timeout": "10",
      "single_connection": true
    }
]

Returns None if absent

Type:Returns
Type:list
vlan_groups
vlans
vrf_ipv4_physical_addresses

Get all physical IPv4 addresses in particular VRF. By default returns all IP addresses from global routing table

Parameters:vrf – Name of the VRF (default is “global”)
Returns:List IPv4 Addresses

Example:

[
    "192.168.100.2",
    "192.168.101.2"
]

Returns empty list ([]) if absent

Return type:list
vrf_ipv4_standby_addresses

Name of the VRF (default is “global”)

Returns:List IPv4 Addresses

Example:

[
    "192.168.100.1",
    "192.168.101.1"
]

Returns empty list ([]) if absent

Return type:list
Type:Args
Type:vrf
vrfs