Skip to content

Commit c6939a9

Browse files
authored
import_mx_l3.py: Fix for issue #46
1 parent 64a3c89 commit c6939a9

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

import_mx_l3.py

+15-7
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import getopt
2828
import os
2929
import sys
30+
import ipaddress
3031

3132
import meraki
3233

@@ -82,11 +83,18 @@ def main(argv):
8283
rule = dict({'policy': row[0], 'protocol': row[1], 'srcCidr': row[2], 'srcPort': row[3], 'destCidr': row[4], 'destPort': row[5], 'comment': row[6], 'syslogEnabled': (row[7] == True or row[7] == 'True' or row[7] == 'true')})
8384

8485
# Append implied "/32" for IP addresses for just one host
85-
if '/' not in rule['srcCidr'] and rule['srcCidr'].lower() != 'any':
86-
rule['srcCidr'] += '/32'
87-
if '/' not in rule['destCidr'] and rule['destCidr'].lower() != 'any':
88-
rule['destCidr'] += '/32'
89-
86+
try:
87+
ip = ipaddress.ip_address(rule['srcCidr'])
88+
if not '/' in rule['srcCidr']:
89+
rule['srcCidr'] += '/32'
90+
except:
91+
pass
92+
try:
93+
ip = ipaddress.ip_address(rule['destCidr'])
94+
if not '/' in rule['destCidr']:
95+
rule['destCidr'] += '/32'
96+
except:
97+
pass
9098
print(rule)
9199

92100
fw_rules.append(rule)
@@ -106,11 +114,11 @@ def main(argv):
106114

107115
# Update MX L3 firewall rules
108116
print(f'Attempting update/simulation of firewall rules to network {net_id}')
109-
m.mx_l3_firewall.updateNetworkL3FirewallRules(net_id, rules=fw_rules, syslogDefaultRule=default_logging)
117+
m.appliance.updateNetworkApplianceFirewallL3FirewallRules(net_id, rules=fw_rules, syslogDefaultRule=default_logging)
110118

111119
# Confirm whether changes were successfully made
112120
if arg_mode == 'commit':
113-
new_rules = m.mx_l3_firewall.getNetworkL3FirewallRules(net_id)
121+
new_rules = m.appliance.getNetworkApplianceFirewallL3FirewallRules(net_id)['rules']
114122
if default_rule_exists and new_rules[:-1] == old_rules[:-1]:
115123
print('Update successful!')
116124
elif not(default_rule_exists) and new_rules[:-1] == old_rules:

0 commit comments

Comments
 (0)