junoser 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41b9e50de5819a393cf9067e372ebe246c558080
4
- data.tar.gz: 37e5bc216c3384ee235afb8da300bcf5c741565f
3
+ metadata.gz: 681932944528ce0c17ed6a01d9630eccc3487353
4
+ data.tar.gz: b93ab704fafd87072e69b836131b48a892e584d7
5
5
  SHA512:
6
- metadata.gz: bab52e5a8c7c267c4a5e5f002a07487ac4ac7da38a2d51f849b49924dd09f0287bfb3ba6cfe7e13ec98ddd00df2540d7bdd3a45edeec07139a74f65c9ab22017
7
- data.tar.gz: effa5919b1a703b9565ca95a5795b3e686496eb4955724b62d7c99dd33cef88510537bba222d2246ccb537aebbd02ca5481291e3e293543197492a669446419b
6
+ metadata.gz: 1a9be3d00d639ae70468c6fefcf8d7f9d24aa4e1cb45e2203611bf4e1bc13d4cc76e55c0ad12f5e23d1618e5830da0a1497e9c3120117525fc15c32327a63c4c
7
+ data.tar.gz: 43bf75c835a850e9fcdc0bac537aeaa293d8d45450ee7bd5a0a5b94adf201a6c8a6d8b7e70c65f7dec1b885addfa404d6416ca6329997d079f0e855537b9f712
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.2.11 / 2017-09-07
2
+
3
+ * Newly supported syntax
4
+ * forwarding-options analyzer
5
+ * routing-options dynamic-tunnels <name> udp
6
+
1
7
  ## 0.2.10 / 2017-08-22
2
8
 
3
9
  * Bug fix
@@ -16318,6 +16318,9 @@ rule(:juniper_forwarding_options) do
16318
16318
  "accounting" (
16319
16319
  juniper_packet_accounting_options
16320
16320
  ),
16321
+ "analyzer" (
16322
+ smpl_analyzer_type
16323
+ ),
16321
16324
  "port-mirroring" (
16322
16325
  juniper_port_mirror_options
16323
16326
  ),
@@ -29620,7 +29623,8 @@ rule(:dynamic_tunnel_type) do
29620
29623
  )
29621
29624
  )
29622
29625
  ),
29623
- "gre"
29626
+ "gre",
29627
+ "udp",
29624
29628
  ),
29625
29629
  "destination-networks" (
29626
29630
  network_type
@@ -38480,3 +38484,164 @@ rule(:juniper_protocols_sflow) do
38480
38484
  )
38481
38485
  )
38482
38486
  end
38487
+
38488
+ rule(:smpl_analyzer_type) do
38489
+ arg.as(:arg) (
38490
+ c(
38491
+ "input" (
38492
+ smpl_analyzer_input_type
38493
+ ),
38494
+ "output" (
38495
+ smpl_analyzer_output_type
38496
+ )
38497
+ )
38498
+ )
38499
+ end
38500
+
38501
+ rule(:smpl_analyzer_input_type) do
38502
+ c(
38503
+ "rate" arg,
38504
+ "maximum-packet-length" arg,
38505
+ "ingress" (
38506
+ smpl_analyzer_ingress_type
38507
+ ),
38508
+ "egress" (
38509
+ smpl_analyzer_egress_type
38510
+ )
38511
+ )
38512
+ end
38513
+
38514
+ rule(:smpl_analyzer_egress_type) do
38515
+ c(
38516
+ "interface" (
38517
+ analyzer_egress_interface_type
38518
+ ),
38519
+ "routing-instance" (
38520
+ analyzer_egress_routing_instance_type
38521
+ ),
38522
+ "vlan" (
38523
+ analyzer_egress_vlan_type
38524
+ ),
38525
+ "bridge-domain" (
38526
+ analyzer_egress_bridge_domain_type
38527
+ )
38528
+ )
38529
+ end
38530
+
38531
+ rule(:analyzer_egress_bridge_domain_type) do
38532
+ arg.as(:arg)
38533
+ end
38534
+
38535
+ rule(:analyzer_egress_interface_type) do
38536
+ ("name" | "all").as(:arg)
38537
+ end
38538
+
38539
+ rule(:analyzer_egress_routing_instance_type) do
38540
+ arg.as(:arg) (
38541
+ c(
38542
+ "vlan" (
38543
+ analyzer_egress_vlan_type
38544
+ ),
38545
+ "bridge-domain" (
38546
+ analyzer_egress_bridge_domain_type
38547
+ )
38548
+ )
38549
+ )
38550
+ end
38551
+
38552
+ rule(:analyzer_egress_vlan_type) do
38553
+ arg.as(:arg)
38554
+ end
38555
+
38556
+ rule(:smpl_analyzer_ingress_type) do
38557
+ c(
38558
+ "interface" (
38559
+ analyzer_ingress_interface_type
38560
+ ),
38561
+ "routing-instance" (
38562
+ analyzer_ingress_routing_instance_type
38563
+ ),
38564
+ "vlan" (
38565
+ analyzer_ingress_vlan_type
38566
+ ),
38567
+ "bridge-domain" (
38568
+ analyzer_ingress_bridge_domain_type
38569
+ )
38570
+ )
38571
+ end
38572
+
38573
+ rule(:analyzer_ingress_bridge_domain_type) do
38574
+ arg.as(:arg)
38575
+ end
38576
+
38577
+ rule(:analyzer_ingress_interface_type) do
38578
+ ("name" | "all").as(:arg)
38579
+ end
38580
+
38581
+ rule(:analyzer_ingress_routing_instance_type) do
38582
+ arg.as(:arg) (
38583
+ c(
38584
+ "vlan" (
38585
+ analyzer_ingress_vlan_type
38586
+ ),
38587
+ "bridge-domain" (
38588
+ analyzer_ingress_bridge_domain_type
38589
+ )
38590
+ )
38591
+ )
38592
+ end
38593
+
38594
+ rule(:analyzer_ingress_vlan_type) do
38595
+ arg.as(:arg)
38596
+ end
38597
+
38598
+ rule(:smpl_analyzer_output_type) do
38599
+ c(
38600
+ c(
38601
+ "interface" (
38602
+ interface_name
38603
+ ),
38604
+ "ip-address" (
38605
+ ipv4addr
38606
+ ),
38607
+ "next-hop-group" arg,
38608
+ "routing-instance" (
38609
+ output_routing_instance_type
38610
+ ),
38611
+ "vlan" (
38612
+ pm_rspan_vlan
38613
+ ),
38614
+ "bridge-domain" (
38615
+ pm_rspan_bridge_domain
38616
+ )
38617
+ )
38618
+ )
38619
+ end
38620
+
38621
+ rule(:output_routing_instance_type) do
38622
+ arg.as(:arg) (
38623
+ c(
38624
+ "ip-address" (
38625
+ ipv4addr
38626
+ ),
38627
+ "vlan" (
38628
+ pm_rspan_vlan
38629
+ ),
38630
+ "bridge-domain" (
38631
+ pm_rspan_bridge_domain
38632
+ )
38633
+ )
38634
+ )
38635
+ end
38636
+
38637
+ rule(:pm_rspan_bridge_domain) do
38638
+ arg.as(:arg)
38639
+ end
38640
+
38641
+ rule(:pm_rspan_vlan) do
38642
+ arg.as(:arg) (
38643
+ c(
38644
+ "no-tag"
38645
+ )
38646
+ )
38647
+ end
@@ -16023,7 +16023,7 @@ module Junoser
16023
16023
  ),
16024
16024
  b(str("voip"),
16025
16025
  c(
16026
- a(str("interface"), str("name") | str("access-ports"),
16026
+ a(str("interface"), arg | str("access-ports"),
16027
16027
  c(
16028
16028
  a(str("vlan"), arg),
16029
16029
  a(str("forwarding-class"), arg)
@@ -16242,7 +16242,7 @@ module Junoser
16242
16242
  end
16243
16243
 
16244
16244
  rule(:analyzer_egress_interface_type) do
16245
- (str("name") | str("all")).as(:arg)
16245
+ (arg | str("all")).as(:arg)
16246
16246
  end
16247
16247
 
16248
16248
  rule(:analyzer_ingress_type) do
@@ -16257,7 +16257,7 @@ module Junoser
16257
16257
  end
16258
16258
 
16259
16259
  rule(:analyzer_ingress_interface_type) do
16260
- (str("name") | str("all")).as(:arg)
16260
+ (arg | str("all")).as(:arg)
16261
16261
  end
16262
16262
 
16263
16263
  rule(:analyzer_output_type) do
@@ -16324,6 +16324,9 @@ module Junoser
16324
16324
  b(str("accounting"),
16325
16325
  juniper_packet_accounting_options
16326
16326
  ),
16327
+ b(str("analyzer"),
16328
+ smpl_analyzer_type
16329
+ ),
16327
16330
  b(str("port-mirroring"),
16328
16331
  juniper_port_mirror_options
16329
16332
  ),
@@ -22719,7 +22722,7 @@ module Junoser
22719
22722
  a(str("ptopo-configuration-maximum-hold-time"), arg),
22720
22723
  a(str("lldp-configuration-notification-interval"), arg),
22721
22724
  str("netbios-snooping"),
22722
- a(str("interface"), str("name") | str("all"),
22725
+ a(str("interface"), arg | str("all"),
22723
22726
  c(
22724
22727
  c(
22725
22728
  str("disable")
@@ -22734,7 +22737,7 @@ module Junoser
22734
22737
  str("disable")
22735
22738
  ),
22736
22739
  a(str("fast-start"), arg),
22737
- a(str("interface"), str("name") | str("all"),
22740
+ a(str("interface"), arg | str("all"),
22738
22741
  c(
22739
22742
  c(
22740
22743
  str("disable")
@@ -29470,7 +29473,8 @@ module Junoser
29470
29473
  )
29471
29474
  )
29472
29475
  ),
29473
- str("gre")
29476
+ str("gre"),
29477
+ str("udp"),
29474
29478
  ),
29475
29479
  b(str("destination-networks"),
29476
29480
  network_type
@@ -38275,5 +38279,166 @@ module Junoser
38275
38279
  )
38276
38280
  )
38277
38281
  end
38282
+
38283
+ rule(:smpl_analyzer_type) do
38284
+ b(arg.as(:arg),
38285
+ c(
38286
+ b(str("input"),
38287
+ smpl_analyzer_input_type
38288
+ ),
38289
+ b(str("output"),
38290
+ smpl_analyzer_output_type
38291
+ )
38292
+ )
38293
+ )
38294
+ end
38295
+
38296
+ rule(:smpl_analyzer_input_type) do
38297
+ c(
38298
+ a(str("rate"), arg),
38299
+ a(str("maximum-packet-length"), arg),
38300
+ b(str("ingress"),
38301
+ smpl_analyzer_ingress_type
38302
+ ),
38303
+ b(str("egress"),
38304
+ smpl_analyzer_egress_type
38305
+ )
38306
+ )
38307
+ end
38308
+
38309
+ rule(:smpl_analyzer_egress_type) do
38310
+ c(
38311
+ b(str("interface"),
38312
+ analyzer_egress_interface_type
38313
+ ),
38314
+ b(str("routing-instance"),
38315
+ analyzer_egress_routing_instance_type
38316
+ ),
38317
+ b(str("vlan"),
38318
+ analyzer_egress_vlan_type
38319
+ ),
38320
+ b(str("bridge-domain"),
38321
+ analyzer_egress_bridge_domain_type
38322
+ )
38323
+ )
38324
+ end
38325
+
38326
+ rule(:analyzer_egress_bridge_domain_type) do
38327
+ arg.as(:arg)
38328
+ end
38329
+
38330
+ rule(:analyzer_egress_interface_type) do
38331
+ (arg | str("all")).as(:arg)
38332
+ end
38333
+
38334
+ rule(:analyzer_egress_routing_instance_type) do
38335
+ b(arg.as(:arg),
38336
+ c(
38337
+ b(str("vlan"),
38338
+ analyzer_egress_vlan_type
38339
+ ),
38340
+ b(str("bridge-domain"),
38341
+ analyzer_egress_bridge_domain_type
38342
+ )
38343
+ )
38344
+ )
38345
+ end
38346
+
38347
+ rule(:analyzer_egress_vlan_type) do
38348
+ arg.as(:arg)
38349
+ end
38350
+
38351
+ rule(:smpl_analyzer_ingress_type) do
38352
+ c(
38353
+ b(str("interface"),
38354
+ analyzer_ingress_interface_type
38355
+ ),
38356
+ b(str("routing-instance"),
38357
+ analyzer_ingress_routing_instance_type
38358
+ ),
38359
+ b(str("vlan"),
38360
+ analyzer_ingress_vlan_type
38361
+ ),
38362
+ b(str("bridge-domain"),
38363
+ analyzer_ingress_bridge_domain_type
38364
+ )
38365
+ )
38366
+ end
38367
+
38368
+ rule(:analyzer_ingress_bridge_domain_type) do
38369
+ arg.as(:arg)
38370
+ end
38371
+
38372
+ rule(:analyzer_ingress_interface_type) do
38373
+ (arg | str("all")).as(:arg)
38374
+ end
38375
+
38376
+ rule(:analyzer_ingress_routing_instance_type) do
38377
+ b(arg.as(:arg),
38378
+ c(
38379
+ b(str("vlan"),
38380
+ analyzer_ingress_vlan_type
38381
+ ),
38382
+ b(str("bridge-domain"),
38383
+ analyzer_ingress_bridge_domain_type
38384
+ )
38385
+ )
38386
+ )
38387
+ end
38388
+
38389
+ rule(:analyzer_ingress_vlan_type) do
38390
+ arg.as(:arg)
38391
+ end
38392
+
38393
+ rule(:smpl_analyzer_output_type) do
38394
+ c(
38395
+ c(
38396
+ b(str("interface"),
38397
+ interface_name
38398
+ ),
38399
+ b(str("ip-address"),
38400
+ ipv4addr
38401
+ ),
38402
+ a(str("next-hop-group"), arg),
38403
+ b(str("routing-instance"),
38404
+ output_routing_instance_type
38405
+ ),
38406
+ b(str("vlan"),
38407
+ pm_rspan_vlan
38408
+ ),
38409
+ b(str("bridge-domain"),
38410
+ pm_rspan_bridge_domain
38411
+ )
38412
+ )
38413
+ )
38414
+ end
38415
+
38416
+ rule(:output_routing_instance_type) do
38417
+ b(arg.as(:arg),
38418
+ c(
38419
+ b(str("ip-address"),
38420
+ ipv4addr
38421
+ ),
38422
+ b(str("vlan"),
38423
+ pm_rspan_vlan
38424
+ ),
38425
+ b(str("bridge-domain"),
38426
+ pm_rspan_bridge_domain
38427
+ )
38428
+ )
38429
+ )
38430
+ end
38431
+
38432
+ rule(:pm_rspan_bridge_domain) do
38433
+ arg.as(:arg)
38434
+ end
38435
+
38436
+ rule(:pm_rspan_vlan) do
38437
+ b(arg.as(:arg),
38438
+ c(
38439
+ str("no-tag")
38440
+ )
38441
+ )
38442
+ end
38278
38443
  end
38279
38444
  end
data/lib/junoser/ruler.rb CHANGED
@@ -48,6 +48,7 @@ module Junoser
48
48
  str.gsub! '"minus-literal"', '"-"'
49
49
 
50
50
  str.gsub!(/\((.*) \| "name"\)/) { "(#$1 | arg)" }
51
+ str.gsub!(/\("name" \| (.*)\)/) { "(arg | #$1)" }
51
52
  str.gsub! '"vlan" ("id-name" | "all")', '"vlan" ("all" | arg)'
52
53
  str.gsub! '"vlan" ("all" | "vlan-name")', '"vlan" ("all" | arg)'
53
54
  str.gsub!(/("ssh-\S+") arg/) { "#$1 (quote | arg)" }
@@ -1,3 +1,3 @@
1
1
  module Junoser
2
- VERSION = "0.2.10"
2
+ VERSION = "0.2.11"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: junoser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shintaro Kojima
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-22 00:00:00.000000000 Z
11
+ date: 2017-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parslet
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  version: '0'
142
142
  requirements: []
143
143
  rubyforge_project:
144
- rubygems_version: 2.6.11
144
+ rubygems_version: 2.6.13
145
145
  signing_key:
146
146
  specification_version: 4
147
147
  summary: PEG parser for JUNOS configuration.