8.1. jinja operations

class nettoolkit.j2config.j2.PrepareConfig(data_file, jtemplate_file, output_folder='.', regional_file=None, regional_class=None)[source]

Bases: object

boiler plate code class for start configuration preparation

Parameters:
  • data_file (str) – Excel database

  • jtemplate_file (str) – Jinja Template

  • output_folder (str, optional) – output path. Defaults to “.”.

  • regional_file (str, optional) – custom static regional variable file. Defaults to None. (overrides device var)

  • regional_class (class, optional) – custom class returning frames to be merge with device var . Defaults to None.

Raises:
  • Exception – Raise for Custom class insertion

  • Exception – Raise for Custom module insertion

check_jinja_var_tab_variables()[source]
custom_class_add_to_filter(**kwargs)[source]

add custom classes and its methods as jinja filters. External callable.

custom_module_methods_add_to_filter(*modules)[source]

add custom methods from module(s) as jinja filters. External callable.

filters = {'Aggregated': <class 'nettoolkit.j2config.func.Aggregated'>, 'Bgp': <class 'nettoolkit.j2config.func.Bgp'>, 'Loopback': <class 'nettoolkit.j2config.func.Loopback'>, 'Ospf': <class 'nettoolkit.j2config.func.Ospf'>, 'Physical': <class 'nettoolkit.j2config.func.Physical'>, 'Static': <class 'nettoolkit.j2config.func.Static'>, 'Vlan': <class 'nettoolkit.j2config.func.Vlan'>, 'Vrf': <class 'nettoolkit.j2config.func.Vrf'>, '_Vlan__vlans_range': <function Vlan.__vlans_range>, '__doc__': 'device Ospf\n\n\tArgs:\n\t\ttable (dict): dataframe dictionary\n\n\tReturns:\n\t\tOspf: Instance of Ospf\n\n\tYields:\n\t\tOspf: Instance of Ospf\n\t', '__module__': 'nettoolkit.j2config.func', '_sorted_vl_range': <function Vlan._sorted_vl_range>, 'addressing': <function addressing>, 'area_summary_tupples': <function Ospf.area_summary_tupples>, 'as_path_repeat': <function as_path_repeat>, 'bgp_peers': <function Bgp.bgp_peers>, 'comma_separated': <function comma_separated>, 'convert_to_int': <function convert_to_int>, 'default_route': <function Static.default_route>, 'get_item': <function get_item>, 'get_summaries': <function get_summaries>, 'groups_of_nine': <function groups_of_nine>, 'has_nexthop': <function Static.has_nexthop>, 'int_to_str': <function int_to_str>, 'interface': <function Physical.interface>, 'interface_type': <function Physical.interface_type>, 'interface_type_ends': <function Physical.interface_type_ends>, 'invmask': <function invmask>, 'ip_addressing': <function addressing>, 'iprint': <function iprint>, 'ipv6_urpf_acl_network': <function ipv6_urpf_acl_network>, 'list_append': <function list_append>, 'list_extend': <function list_extend>, 'list_sorted': <function list_sorted>, 'mask': <function mask>, 'netmask': <function netmask>, 'nt_get_summaries': <function get_summaries>, 'nth_ip': <function nth_ip>, 'of_instance': <function Vlan.of_instance>, 'physical_if_allowed': <function physical_if_allowed>, 'recapsulate': <function recapsulate>, 'remove_trailing_zeros': <function remove_trailing_zeros>, 'sort': <function sort>, 'sorted': <function Physical.sorted>, 'sorted_interfaces': <function Physical.sorted_interfaces>, 'sorted_vpnids': <function Vrf.sorted_vpnids>, 'sorted_vrf_data': <function Vrf.sorted_vrf_data>, 'sorted_vrf_data_by_vpnid': <function Vrf.sorted_vrf_data_by_vpnid>, 'space_separated': <function space_separated>, 'str_to_list': <function str_to_list>, 'string': <function string>, 'string_as_is': <function string_as_is>, 'uplinks': <function Physical.uplinks>, 'v4addressing': <function v4addressing>, 'version': <function Static.version>, 'vlan': <function Vlan.vlan>, 'vlans_sorted_range': <function Vlan.vlans_sorted_range>, 'vrf': <function Ospf.vrf>, 'vrf_get': <function Vrf.vrf_get>, 'vrf_not_none': <function Bgp.vrf_not_none>}
start()[source]

kick start generation