当前位置: 首页>>代码示例>>Python>>正文


Python CiscoConfParse.commit方法代码示例

本文整理汇总了Python中ciscoconfparse.CiscoConfParse.commit方法的典型用法代码示例。如果您正苦于以下问题:Python CiscoConfParse.commit方法的具体用法?Python CiscoConfParse.commit怎么用?Python CiscoConfParse.commit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ciscoconfparse.CiscoConfParse的用法示例。


在下文中一共展示了CiscoConfParse.commit方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: parse_config

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import commit [as 别名]
def parse_config(host, addr):
    # search mgmt interface in .txt files
    # interface GigabitEthernet3 is MGMT interface
    txt_cfg = lab_folder + host + ".txt"
    mgmt_interface = "GigabitEthernet3"
    ip_param = "ip address " + addr + " 255.255.255.0"

    parse = CiscoConfParse(txt_cfg, factory=True)
    interface = parse.find_interface_objects(mgmt_interface)
    # add interface gig3

    if interface == []:
        print("creating mgmt interface")
        parse.insert_before('line con 0', 'interface GigabitEthernet3')
        parse.commit()

        for obj in parse.find_interface_objects(mgmt_interface):
            obj.append_to_family('!')
            obj.append_to_family(' no shutdown')
            obj.append_to_family(' ' + ip_param)
            obj.append_to_family(' description MGMT')

        parse.commit()
        parse.save_as(txt_cfg)
    else:
        print("Interface already configured")
        pass
开发者ID:bysshd,项目名称:ine-cfg-loader,代码行数:29,代码来源:load_lab.py

示例2: testValues_banner_delete_01

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import commit [as 别名]
def testValues_banner_delete_01():
    # Ensure multiline banners are correctly deleted
    CONFIG = ['!', 
        'banner motd ^', '    trivial banner1 here ^', 
        'interface GigabitEthernet0/0',
        ' ip address 192.0.2.1 255.255.255.0',
        'banner exec ^', '    trivial banner2 here ^',
        'end']
    parse = CiscoConfParse(CONFIG)
    for obj in parse.find_objects('^banner'):
        obj.delete()
    parse.commit()
    assert parse.find_objects('^banner')==[]
开发者ID:0x24bin,项目名称:ciscoconfparse,代码行数:15,代码来源:test_CiscoConfParse.py

示例3: testValues_banner_delete_02

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import commit [as 别名]
def testValues_banner_delete_02():
    # Ensure multiline banners are correctly deleted
    #
    # Check for Github issue #37
    CONFIG = ['!', 
        'interface GigabitEthernet0/0',
        ' ip address 192.0.2.1 255.255.255.0',
        'banner motd ^', '    trivial banner1 here ^', 
        'interface GigabitEthernet0/1',
        ' ip address 192.0.2.1 255.255.255.0',
        'banner exec ^', '    trivial banner2 here ^',
        'end']
    parse = CiscoConfParse(CONFIG)
    for obj in parse.find_objects('^banner'):
        obj.delete()
    parse.commit()

    assert parse.find_objects('^banner')==[]

    # Github issue #37 assigned Gi0/1's child to Gi0/0 after deleting
    #  the banner motd line...
    for obj in parse.find_objects('^interface'):
        assert len(obj.children)==1
开发者ID:0x24bin,项目名称:ciscoconfparse,代码行数:25,代码来源:test_CiscoConfParse.py

示例4: transform

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import commit [as 别名]
def transform(filename):

	#1st Part

	with open(os.path.join(app.config['UPLOAD_FOLDER'],filename), "rU") as infile:

		p = CiscoConfParse(infile)

		objs = list()

		objs.extend(p.find_objects(r'^policy-map'))
		objs.extend(p.find_objects(r'ip\saccess-list'))
		objs.extend(p.find_objects(r'^class-map'))
		objs.extend(p.find_objects(r'^crypto pki'))
		objs.extend(p.find_objects(r'^track'))
		objs.extend(p.find_objects(r'^ip sla'))
		objs.extend(p.find_objects(r'^zone-pair'))
		objs.extend(p.find_objects(r'^archive'))
		objs.extend(p.find_objects(r'^banner '))
		objs.extend(p.find_objects(r'^line '))
		objs.extend(p.find_objects(r'^username'))
		objs.extend(p.find_objects(r'^logging '))
		objs.extend(p.find_objects(r'^end'))
		objs.extend(p.find_objects(r'^access-list'))

		for obj in objs:
			obj.delete()

		for interface in p.find_objects_w_child('^interface', 'spanning-tree portfast'):
			interface.delete(interface)

		for interface in p.find_objects_w_child('^interface', 'switchport port-security'):
			interface.delete(interface)

		p.commit()

		p.save_as (os.path.join(app.config['UPLOAD_FOLDER'], 'file_parsed_1st.txt'))


	#2nd Part

	with open (os.path.join(app.config['UPLOAD_FOLDER'], 'file_parsed_1st.txt'), "rU") as file_parsed_2nd:

		with open(os.path.join(app.config['UPLOAD_FOLDER'], 'file_parsed_2nd.txt'), "w") as outfile:

			security_lines = ['last','Last','version','service timestamps','service password','tcp-keepalives','marker','flow-','enable secret',
							'csdb', 'ip accouting','timezone','aaa','ssh','snmp','service-policy','tacacs','privilege',
							'alias','ntp','scheduler allocate','exec-timeout', 'service pad','syslog',
							'small-servers','enable password','zone-member','zone security','ip http','mls','igmp', 'radius-server',
							'forward-protocol','cdp','nagle','resource policy','gratuitous-arps','resource policy''control-plane',
							'-time','errdisable','#','Building configuration','Current configuration','memory-size iomem','no ip source-route',
							'no ip bootp server','no ip domain lookup','no ipv6 cef','no logging console','multilink bundle-name authenticated',
							'ip accounting','standby']

			emptyline = ['\n', '\r\n']

			for line in file_parsed_2nd:
				if not line in emptyline and not any(security_line in line for security_line in security_lines):
					outfile.write(line)



	# 3rd Part

			outfile.write('enable secret cisco\n')
			outfile.write('line vty 0 4\n')
			outfile.write('    password cisco\n')
			outfile.write('    no access-class 23 in\n')
			outfile.write('end\n')
			outfile.write('!\n')



		return send_file(os.path.join(app.config['UPLOAD_FOLDER'], 'file_parsed_2nd.txt'))
开发者ID:fabiano-lima,项目名称:Cisco-Basic-Config-Generator,代码行数:76,代码来源:app.py

示例5: and

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import commit [as 别名]
        ## Add missing commands
        if is_switchport_access and (not has_stormcontrol):
            intf.append_to_family(' storm-control action trap')
            intf.append_to_family(' storm-control broadcast level 0.4 0.3')

        ## remove dot1q trunk misconfiguration
        elif is_switchport_trunk:
            intf.delete_children_matching('port-security')

## Parse the config
parse = CiscoConfParse('switch.conf')

## Add a new switchport at the bottom of the config...
parse.append_line('interface GigabitEthernet1/0')
parse.append_line(' switchport')
parse.append_line(' switchport mode access')
parse.append_line('!')
parse.commit ()

## Search and standardize the interfaces
standardize_interfaces(parse)
parse.commit()

## Add a line to the top of the config if not already there.
if not parse.has_line_with(r'^service\stimestamp'):
    parse.prepend_line('service timestamps debug datetime msec localtime show-timezone')
    parse.prepend_line('service timestamps log datetime msec localtime show-timezone')

## Wrtite the config file now...
parse.save_as('switch.conf.new')
开发者ID:palazzoloc,项目名称:pynet_testx,代码行数:32,代码来源:cisco_config_generator2.py

示例6: sorted

# 需要导入模块: from ciscoconfparse import CiscoConfParse [as 别名]
# 或者: from ciscoconfparse.CiscoConfParse import commit [as 别名]
    parse.delete_lines(r'loop-detection')
    parse.delete_lines(r'errdisable recovery cause loop-detect')
    parse.delete_lines(r'errdisable recovery cause all')

    ## Cleans up vlan configuraiton.
    vlans = [
        ('11', wifi_vlans),
        ('22', voice_vlan),
        ('24', facilitys_vlan),
        ('42', data_vlan),
        ('56', wifi_vlans)
    ]
    tagged_ports = lambda vlan: parse.replace_children(
        r'vlan\s+{0}'.format(vlan[0]), r'!', 'tagged ' + ' '.join([port_name(port) for port in sorted(vlan[1])])
    )
    port_name = lambda port: ' '.join([port.text[10:11], port.text[19:]])
    parse.replace_all_children(r'vlan.*', r'[un]?tagged.*', '!')
    for x in vlans: tagged_ports(x)
    # parse.replace_all_children(r'vlan.*', r'REPLACE', '')


## Parse the config
parse = CiscoConfParse('brocade_conf.cfg')

## Search and standardize the configuration
standardize_intfs(parse)
parse.commit()  # commit() **must** be called before searching again

## Write the new configuration
parse.save_as('brocade_conf.cfg.new')
开发者ID:dcrozier,项目名称:PyTest,代码行数:32,代码来源:conf_parse_test.py


注:本文中的ciscoconfparse.CiscoConfParse.commit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。