-
Notifications
You must be signed in to change notification settings - Fork 0
/
039_jinja_1.py
34 lines (31 loc) · 887 Bytes
/
039_jinja_1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from jinja2 import Environment, FileSystemLoader, Template
interfaces = {
"GigabitEthernet0/0/0": {
"mtu": 1600,
"description": "-= pe2.klg =-",
"ip": "192.168.1.1",
"mask": "255.255.255.252",
"type": "internal",
"bfd": True,
"shutdown": False,
},
"GigabitEthernet0/0/1": {
"shutdown": True,
"ip": "192.168.2.1"
},
"GigabitEthernet0/0/2": {
"description": "-= pe1.klg =-",
"ip": "192.168.2.1",
"mask": "255.255.255.252",
"type": "external",
"bfd": True,
"shutdown": False,
"mtu": 1500,
},
}
env = Environment(loader=FileSystemLoader("./039_templates"))
def create_intf_cfg(intf_data:dict):
template = env.get_template("task_1.j2")
config = template.render(interfaces=intf_data)
print(config)
create_intf_cfg(interfaces)