junoser 0.5.0 → 0.5.1
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 +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +1 -1
- data/example/ex-18.1R3-S6.1.xsd +90684 -0
- data/example/mx-21.2R3-S2.9.rb +14 -1
- data/lib/junoser/parser.rb +34 -20
- data/lib/junoser/ruler.rb +16 -2
- data/lib/junoser/version.rb +1 -1
- metadata +3 -2
data/example/mx-21.2R3-S2.9.rb
CHANGED
@@ -10835,7 +10835,20 @@ rule(:configuration) do
|
|
10835
10835
|
"interval" arg /* Interval at which data should be recorded */,
|
10836
10836
|
"duration" arg /* Duration to continue recording of data */
|
10837
10837
|
)
|
10838
|
-
)
|
10838
|
+
),
|
10839
|
+
"af-mode" /* Enable 802.3af */,
|
10840
|
+
"high-power" /* Enable fourpair high power interface upto 60W */,
|
10841
|
+
"ultrahigh-power" /* Enable fourpair ultra high power interface upto 95W */
|
10842
|
+
)
|
10843
|
+
),
|
10844
|
+
"fpc" enum(("all" | "fpc-slot-number")) ( /* FPC slot number */
|
10845
|
+
c(
|
10846
|
+
"management" ( /* PoE management mode */
|
10847
|
+
("static" | "class")
|
10848
|
+
),
|
10849
|
+
"guard-band" arg /* Guard band for PoE */,
|
10850
|
+
"maximum-power" arg /* Maximum FPC power limit */,
|
10851
|
+
"lldp-priority" /* PoE controller LLDP priority */
|
10839
10852
|
)
|
10840
10853
|
)
|
10841
10854
|
)
|
data/lib/junoser/parser.rb
CHANGED
@@ -6729,10 +6729,10 @@ module Junoser
|
|
6729
6729
|
str("auto-negotiate-10-100")
|
6730
6730
|
)
|
6731
6731
|
).as(:oneline),
|
6732
|
-
str("
|
6733
|
-
str("
|
6734
|
-
str("
|
6735
|
-
str("
|
6732
|
+
str("10m"),
|
6733
|
+
str("100m"),
|
6734
|
+
str("1g"),
|
6735
|
+
str("10g")
|
6736
6736
|
)
|
6737
6737
|
)
|
6738
6738
|
),
|
@@ -10905,7 +10905,7 @@ module Junoser
|
|
10905
10905
|
str("fast-poe"),
|
10906
10906
|
str("perpetual-poe"),
|
10907
10907
|
a(str("interface"), str("all") | str("all-extended") | arg,
|
10908
|
-
|
10908
|
+
sc(
|
10909
10909
|
str("disable"),
|
10910
10910
|
b(str("priority"),
|
10911
10911
|
(str("low") | str("high"))
|
@@ -10917,9 +10917,22 @@ module Junoser
|
|
10917
10917
|
a(str("interval"), arg),
|
10918
10918
|
a(str("duration"), arg)
|
10919
10919
|
)
|
10920
|
-
)
|
10920
|
+
),
|
10921
|
+
str("af-mode"),
|
10922
|
+
str("high-power"),
|
10923
|
+
str("ultrahigh-power")
|
10921
10924
|
)
|
10922
|
-
)
|
10925
|
+
).as(:oneline),
|
10926
|
+
a(str("fpc"), enum(str("all") | str("fpc-slot-number")),
|
10927
|
+
sc(
|
10928
|
+
b(str("management"),
|
10929
|
+
(str("static") | str("class"))
|
10930
|
+
),
|
10931
|
+
a(str("guard-band"), arg),
|
10932
|
+
a(str("maximum-power"), arg),
|
10933
|
+
str("lldp-priority")
|
10934
|
+
)
|
10935
|
+
).as(:oneline)
|
10923
10936
|
)
|
10924
10937
|
),
|
10925
10938
|
b(str("dynamic-profiles"),
|
@@ -32128,10 +32141,10 @@ module Junoser
|
|
32128
32141
|
str("auto-negotiate-10-100")
|
32129
32142
|
)
|
32130
32143
|
).as(:oneline),
|
32131
|
-
str("
|
32132
|
-
str("
|
32133
|
-
str("
|
32134
|
-
str("
|
32144
|
+
str("10m"),
|
32145
|
+
str("100m"),
|
32146
|
+
str("1g"),
|
32147
|
+
str("10g")
|
32135
32148
|
)
|
32136
32149
|
)
|
32137
32150
|
),
|
@@ -47896,10 +47909,10 @@ module Junoser
|
|
47896
47909
|
str("auto-negotiate-10-100")
|
47897
47910
|
)
|
47898
47911
|
).as(:oneline),
|
47899
|
-
str("
|
47900
|
-
str("
|
47901
|
-
str("
|
47902
|
-
str("
|
47912
|
+
str("10m"),
|
47913
|
+
str("100m"),
|
47914
|
+
str("1g"),
|
47915
|
+
str("10g")
|
47903
47916
|
)
|
47904
47917
|
)
|
47905
47918
|
),
|
@@ -51526,10 +51539,10 @@ module Junoser
|
|
51526
51539
|
str("auto-negotiate-10-100")
|
51527
51540
|
)
|
51528
51541
|
).as(:oneline),
|
51529
|
-
str("
|
51530
|
-
str("
|
51531
|
-
str("
|
51532
|
-
str("
|
51542
|
+
str("10m"),
|
51543
|
+
str("100m"),
|
51544
|
+
str("1g"),
|
51545
|
+
str("10g")
|
51533
51546
|
)
|
51534
51547
|
)
|
51535
51548
|
),
|
@@ -110790,7 +110803,8 @@ module Junoser
|
|
110790
110803
|
c(
|
110791
110804
|
a(str("threshold"), arg)
|
110792
110805
|
)
|
110793
|
-
)
|
110806
|
+
),
|
110807
|
+
str("single-hop")
|
110794
110808
|
)
|
110795
110809
|
),
|
110796
110810
|
a(str("authentication-key"), arg)
|
data/lib/junoser/ruler.rb
CHANGED
@@ -138,7 +138,7 @@ module Junoser
|
|
138
138
|
str.gsub!(/"snmp"(.*\s*.*)"snmptrap"/) { %["snmptrap"#{$1}"snmp"] }
|
139
139
|
str.gsub!(/"ospf"(.*\s*.*)"ospf3"/) { %["ospf3"#{$1}"ospf"] }
|
140
140
|
str.gsub! '"tls1" | "tls11" | "tls12"', '"tls11" | "tls12" | "tls1"'
|
141
|
-
str.gsub!(/("group1" \| "group2" \| "group5") \| ([^)]+)/) { "#{$2} | #{$1}"}
|
141
|
+
str.gsub!(/("group1" \| "group2" \| "group5") \| ([^)]+)/) { "#{$2} | #{$1}" }
|
142
142
|
|
143
143
|
%w[ccc ethernet-over-atm tcc vpls bridge].each do |encap|
|
144
144
|
str.gsub!(/"ethernet"(.*)"ethernet-#{encap}"/) { %["ethernet-#{encap}"#{$1}"ethernet"] }
|
@@ -226,7 +226,7 @@ module Junoser
|
|
226
226
|
str.gsub! '"system-name" arg', '"name" (quote | arg)'
|
227
227
|
|
228
228
|
# Fix .xsd: argument of "system license keys key" can be quoted
|
229
|
-
str.gsub!(/^(rule\(:license_object\) do.*?"key") arg/m) { "#{$1} (quote | arg)"}
|
229
|
+
str.gsub!(/^(rule\(:license_object\) do.*?"key") arg/m) { "#{$1} (quote | arg)" }
|
230
230
|
|
231
231
|
# Fix .xsd: "prefix-limit teardown"
|
232
232
|
str.gsub!(/^(\s*)"teardown" (\(.*?as\(:oneline\)\s*\)\s*\))/m) do
|
@@ -237,6 +237,20 @@ module Junoser
|
|
237
237
|
str.gsub! '"400g" | "oc', '"400g" | "800g" | "oc'
|
238
238
|
str.gsub! '"400G"', '"400G" | "800G"'
|
239
239
|
|
240
|
+
# Fix .xsd: "poe"
|
241
|
+
str.gsub!(/^(\s*"interface" \("all" \| "all-extended" \| arg\) \(\s*)c\(/) { "#{$1}sc(" }
|
242
|
+
str.gsub!(/^(\s*)\)(,\s*"fpc" enum\(\("all" \| "fpc-slot-number"\)\) \(\s*)c\((.*"lldp-priority"\s*\)\s*\))/m) do
|
243
|
+
"#{$1}).as(:oneline)#{$2}sc(#{$3}.as(:oneline)"
|
244
|
+
end
|
245
|
+
|
246
|
+
# Fix .xsd: support "set protocols iccp peer xxx liveness-detection single-hop"
|
247
|
+
str.gsub!(/(^rule\(:peer_group\) do.*?\n(\s*)"detection-time" \(\s*c\(\s*"threshold" arg\s*\)\s*\))/m) do
|
248
|
+
"#{$1},\n#{format('"single-hop"', $2)}"
|
249
|
+
end
|
250
|
+
|
251
|
+
# Fix .xsd: support "set interfaces xxx ether-options speed"
|
252
|
+
str.gsub! '"ethernet-1', '"1'
|
253
|
+
|
240
254
|
str
|
241
255
|
end
|
242
256
|
|
data/lib/junoser/version.rb
CHANGED
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.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shintaro Kojima
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parslet
|
@@ -101,6 +101,7 @@ files:
|
|
101
101
|
- bin/console
|
102
102
|
- bin/setup
|
103
103
|
- commitlint.config.js
|
104
|
+
- example/ex-18.1R3-S6.1.xsd
|
104
105
|
- example/get-schema.xml
|
105
106
|
- example/junos-18.1R3-S9.rb
|
106
107
|
- example/mx-19.3R3-S1.3.rb
|