本文整理汇总了Python中ciscoconfparse.CiscoConfParse.find_children_w_parents方法的典型用法代码示例。如果您正苦于以下问题:Python CiscoConfParse.find_children_w_parents方法的具体用法?Python CiscoConfParse.find_children_w_parents怎么用?Python CiscoConfParse.find_children_w_parents使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ciscoconfparse.CiscoConfParse
的用法示例。
在下文中一共展示了CiscoConfParse.find_children_w_parents方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1:
# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import find_children_w_parents [as 别名]
# Set the policy name
child_policy = intobj.re_match_iter_typed(SERVICEPOLICY_RE, result_type=str)
# Remove the class-default class from the list - it's not useful to us
class_maps_t.remove (" class class-default")
# Remove everything but the class-map name from the list
class_maps = [re.sub(r'^ class ','',s) for s in class_maps_t]
for class_map_f in class_maps:
# Go through the class-maps (that came from the policy-map) and find their config - CiscoConfParse outputs a list so we need add the list string to our new list class_map_p
class_map_t1 = parse.find_objects (r"^class-map match-a.. " + class_map_f)
class_map_p.append(class_map_t1[0])
# Do a list comprehension to search the children of all the class-maps for the ENHANCED-DATA ACL use
access_list = [obj for obj in class_map_p if obj.re_search_children(r"match access-group name ENHANCED-DATA") ]
if access_list:
# Write out which class-map uses ENHANCED-DATA
matching_class_map = access_list[0].re_match(CLASS_MAP_RE)
access_list_process = parse.find_children_w_parents(r"ip access-list extended ENHANCED-DATA",r"remark Version")
if access_list_process:
access_list_version = re.sub(r'^ remark ','',access_list_process[0])
else:
access_list_version = "No Version Number"
else:
# If we don't see it, write that out
matching_class_map = "NO ENHANCED-DATA"
access_list_version = "No Version Number"
# Write out to the update file with what we found
qos_output = (switch + "," + hostname + "," + intobj.re_match(INTERFACE_RE) + "," + policy_map_parent + "," + child_policy + "," + matching_class_map + "," + access_list_version + "\n")
f_run.write(qos_output)
else:
# Write out when don't find QoS
qos_output = (switch + "," + hostname + ",No QoS" + "\n")
f_run.write(qos_output)
示例2: print
# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import find_children_w_parents [as 别名]
print ("Routed Interfaces from config file: %s" % str(sys.argv[1]))
raw_input("Press Return to continue to IP Section...")
ipint = config.find_interface_objects("^interface")
lipint = len(ipint)
for i in ipint:
print i
print ("Number of items in list: %s" % lipint)
print ("IPs from config file: %s" % str(sys.argv[1]))
raw_input("Press Return to continue to Other IP Section...")
ipint2 = config.find_children_w_parents("^interface\s","ip address")
lipint2 = len(ipint2)
print ipint2
for i in ipint2:
print i
print ("Number of items in list: %s" % lipint2)
print ("IPs from config file: %s" % str(sys.argv[1]))
raw_input("Press Return to continue to static routes...")
sroute = config.find_objects(r"^ip\sroute")
lsroute = len(sroute)
print sroute
for r in sroute:
print r
示例3: testValues_find_children_w_parents
# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import find_children_w_parents [as 别名]
def testValues_find_children_w_parents(self):
## test find_children_w_parents
for config, args, result_correct in self.find_children_w_parents_Values:
cfg = CiscoConfParse(config )
test_result = cfg.find_children_w_parents(**args)
self.assertEqual(result_correct, test_result)
示例4: list
# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import find_children_w_parents [as 别名]
static_routes = list()
prefixlist_entries = list()
DMZ_interface_objs = parse.find_objects_w_child(parentspec='^interface',childspec='vrf member DMZ')
for obj in DMZ_interface_objs:
interface_ip_raw = obj.re_match_iter_typed(ADDR_RE, result_type=IPv4Obj)
interface_network = str(interface_ip_raw.network) + '/' + str(interface_ip_raw.prefixlen)
directly_connected.append(interface_network)
# vrf_objs = parse.find_objects('^vrf context DMZ')
# for obj in vrf_objs:
# print (obj.ioscfg)
# static_raw = obj.re_match_iter_typed(STATIC_RE)
# print(static_raw)
DMZ_static_list = parse.find_children_w_parents('^vrf context DMZ',STATIC_RE)
for x in DMZ_static_list:
static_rawlist = x.split()
static_net = static_rawlist[2]
static_dst = static_rawlist[3]
#static_net = IPNetwork(static_raw)
static_routes.append(str(static_net)+' '+str(static_dst))
DMZ_prefix_list = parse.find_lines('^ip prefix-list DMZ_STATIC.*permit.*')
for y in DMZ_prefix_list:
prefixlist_rawlist = y.split()
prefixlist_entry = prefixlist_rawlist[6]
prefixlist_entries.append(prefixlist_entry)
print("Directly Connected Interface Networks in VRF DMZ")