35
35
from capirca .lib import gce
36
36
from capirca .lib import gce_vpc_tf
37
37
from capirca .lib import gcp_hf
38
+ from capirca .lib import fortigate
39
+ from capirca .lib import fortigatelocalin
38
40
from capirca .lib import ipset
39
41
from capirca .lib import iptables
40
42
from capirca .lib import juniper
@@ -198,6 +200,8 @@ def RenderFile(base_directory: str, input_file: pathlib.Path,
198
200
sonic_pol = False
199
201
k8s_pol = False
200
202
gce_vpc_tf_pol = False
203
+ fcl = False
204
+ lipfcl = False
201
205
202
206
try :
203
207
with open (input_file ) as f :
@@ -286,6 +290,10 @@ def RenderFile(base_directory: str, input_file: pathlib.Path,
286
290
gca = copy .deepcopy (pol )
287
291
if 'k8s' in platforms :
288
292
k8s_pol = copy .deepcopy (pol )
293
+ if 'fortigate' in platforms :
294
+ fcl = copy .deepcopy (pol )
295
+ if 'fortigatelocalin' in platforms :
296
+ lipfcl = copy .deepcopy (pol )
289
297
290
298
acl_obj : aclgenerator .ACLGenerator
291
299
@@ -448,6 +456,15 @@ def RenderFile(base_directory: str, input_file: pathlib.Path,
448
456
str (acl_obj ), acl_obj .SUFFIX , output_directory , input_file ,
449
457
write_files )
450
458
459
+ if fcl :
460
+ acl_obj = fortigate .Fortigate (fcl , exp_info )
461
+ RenderACL (str (acl_obj ), acl_obj .SUFFIX , output_directory ,
462
+ input_file , write_files )
463
+ if lipfcl :
464
+ acl_obj = fortigatelocalin .FortigateLocalIn (lipfcl , exp_info )
465
+ RenderACL (str (acl_obj ), acl_obj .SUFFIX , output_directory ,
466
+ input_file , write_files )
467
+
451
468
# TODO(robankeny) add additional errors.
452
469
except (
453
470
juniper .Error ,
@@ -465,7 +482,9 @@ def RenderFile(base_directory: str, input_file: pathlib.Path,
465
482
gce .Error ,
466
483
gce_vpc_tf .Error ,
467
484
cloudarmor .Error ,
468
- k8s .Error ) as e :
485
+ k8s .Error ,
486
+ fortigate .Error ,
487
+ fortigatelocalin .Error ) as e :
469
488
raise ACLGeneratorError ('Error generating target ACL for %s:\n %s' %
470
489
(input_file , e ))
471
490
0 commit comments