lib/junoser/parser.rb in junoser-0.1.2 vs lib/junoser/parser.rb in junoser-0.1.3

- old
+ new

@@ -30,18 +30,22 @@ rule(:arg) { match('\S').repeat(1) } rule(:space) { match('\s').repeat(1) } rule(:any) { match('.').repeat(1) } rule(:eos) { match('$') } - rule(:dotted) { match('[^. \t\n\r\f]').repeat(1) >> match('.') >> match('[^. \t\n\r\f]').repeat(1) } - rule(:quote) { match('"') >> match('[^"]').repeat(1) >> match('"') } + rule(:dotted) { match('[^. \t\n\r\f]').repeat(1) >> str('.') >> match('[^. \t\n\r\f]').repeat(1) } + rule(:quote) { str('"') >> match('[^"]').repeat(1) >> str('"') } rule(:address) { match('[0-9a-fA-F:.]').repeat(1) } - rule(:prefix ) { address >> (match('/') >> match('[0-9]').repeat(1)).maybe } + rule(:prefix ) { address >> (str('/') >> match('[0-9]').repeat(1)).maybe } root(:set) - rule(:set) { (str('set') | str('deactivate')) >> space >> configuration.as(:config) } + rule(:set) { (str('set') | str('deactivate')) >> space >> configuration.as(:config) >> comment.maybe } + rule(:comment) { space.maybe >> (hash_comment | slash_asterisk) } + rule(:hash_comment) { str('#') >> any.maybe } + rule(:slash_asterisk) { str('/*') >> match('(?!\*\/).').repeat(0) >> str('*/') } + rule(:undocumented) do s( any ) end @@ -133,11 +137,11 @@ rule(:policy_algebra) do arg.as(:arg) end rule(:regular_expression) do - arg.as(:arg) + (quote | arg).as(:arg) end rule(:group_glob) do arg.as(:arg) end @@ -414,21 +418,21 @@ b(str("excessive-packet-loss-rate"), sc( a(str("threshold"), arg), a(str("sample-period"), arg) ) - ).as(:oneline), + ), c( a(str("jitter-buffer-packets"), arg), a(str("jitter-buffer-latency"), arg), str("jitter-buffer-auto-adjust") ), a(str("bit-rate"), arg) ) - ).as(:oneline), - str("ima-group-options").as(:oneline), - str("ima-link-options").as(:oneline), + ), + str("ima-group-options"), + str("ima-link-options"), b(str("multi-chassis-protection"), multi_chassis_protection_group ), b(str("clocking"), sc( @@ -886,11 +890,11 @@ sc( b(str("parent"), interface_device ) ) - ).as(:oneline), + ), b(str("802.3ad"), sc( arg, b(str("lacp"), sc( @@ -905,11 +909,11 @@ c( str("primary"), str("backup") ) ) - ).as(:oneline), + ), b(str("ethernet-switch-profile"), sc( a(str("tag-protocol-id"), arg), b(str("ethernet-policer-profile"), sc( @@ -975,11 +979,11 @@ sc( b(str("parent"), interface_device ) ) - ).as(:oneline), + ), b(str("802.3ad"), sc( arg, b(str("lacp"), sc( @@ -993,11 +997,11 @@ c( str("primary"), str("backup") ) ) - ).as(:oneline), + ), b(str("mpls"), mpls_ifd_options ), str("ignore-l3-incompletes") ) @@ -1191,24 +1195,24 @@ sc( b(str("interface-name"), interface_unit ) ) - ).as(:oneline), + ), b(str("interface-shared-with"), sc( a(str("psd-name"), arg) ) - ).as(:oneline), + ), c( str("disable") ), str("passive-monitor-mode"), str("per-session-scheduler"), str("clear-dont-fragment-bit"), str("reassemble-packets"), - str("rpm").as(:oneline), + str("rpm"), a(str("description"), quote | arg), a(str("metadata"), arg), str("dial-options"), b(str("demux-source"), (str("inet") | str("inet6")) @@ -1269,14 +1273,14 @@ ) ) ), b(str("input-vlan-map"), vlan_map - ).as(:oneline), + ), b(str("output-vlan-map"), vlan_map - ).as(:oneline), + ), str("swap-by-poppush"), a(str("receive-lsp"), arg), a(str("transmit-lsp"), arg), a(str("dlci"), arg), a(str("multicast-dlci"), arg), @@ -1464,20 +1468,20 @@ sc( str("loose") ) ).as(:oneline) ) - ).as(:oneline), + ), a(str("mtu"), arg), str("no-redirects"), str("no-neighbor-learn"), str("unconditional-src-learn"), str("multicast-only"), str("primary"), a(str("ipsec-sa"), arg), - str("demux-source").as(:oneline), - str("demux-destination").as(:oneline), + str("demux-source"), + str("demux-destination"), b(str("filter"), sc( c( b(str("input"), sc( @@ -1529,11 +1533,11 @@ ), b(a(str("next-hop-tunnel"), arg), sc( a(str("ipsec-vpn"), arg) ) - ).as(:oneline), + ), b(a(str("address"), arg), sc( b(str("destination"), ipv4addr ), @@ -1573,11 +1577,11 @@ a(str("transmit-weight"), arg), b(str("epd-threshold"), epd_threshold_config ).as(:oneline) ) - ).as(:oneline), + ), b(a(str("arp"), arg), sc( b(str("l2-interface"), interface_name ), @@ -1596,11 +1600,11 @@ sc( str("http"), str("https"), str("redirect-to-https") ) - ).as(:oneline), + ), b(str("vrrp-group"), vrrp_group ) ) ), @@ -1658,11 +1662,11 @@ sc( str("loose") ) ).as(:oneline) ) - ).as(:oneline), + ), b(str("accounting"), sc( b(str("source-class-usage"), sc( str("input"), @@ -1752,15 +1756,15 @@ sc( str("http"), str("https"), str("redirect-to-https") ) - ).as(:oneline) + ) ) ), - str("demux-source").as(:oneline), - str("demux-destination").as(:oneline), + str("demux-source"), + str("demux-destination"), b(str("unnumbered-address"), sc( b(str("source"), interface_unit ), @@ -1991,11 +1995,11 @@ sc( a(str("to-vlan-id"), arg) ) ).as(:oneline) ) - ).as(:oneline), + ), c( a(str("isid-list"), arg) ) ) ), @@ -2147,11 +2151,11 @@ sc( a(str("events"), arg) ) ).as(:oneline) ) - ).as(:oneline), + ), b(str("attributes-match"), s( b(str("from-event-attribute"), arg ), @@ -2229,11 +2233,11 @@ a(str("retry"), arg), a(str("retry-interval"), arg) ) ).as(:oneline) ) - ).as(:oneline), + ), a(str("output-format"), arg) ) ), b(a(str("event-script"), arg), sc( @@ -2252,11 +2256,11 @@ a(str("retry"), arg), a(str("retry-interval"), arg) ) ).as(:oneline) ) - ).as(:oneline), + ), a(str("output-format"), arg) ) ), str("raise-trap") ) @@ -2289,11 +2293,11 @@ sc( a(str("md5"), arg), a(str("sha1"), arg), a(str("sha-256"), arg) ) - ).as(:oneline), + ), b(a(str("remote-execution"), arg), sc( a(str("username"), arg), b(str("passphrase"), unreadable @@ -2559,11 +2563,11 @@ b(str("address"), ipv4addr ) ) ) - ).as(:oneline), + ), str("enterprise-oid"), b(a(str("routing-instance"), arg), sc( b(str("source-address"), sc( @@ -2572,11 +2576,11 @@ b(str("address"), ipv4addr ) ) ) - ).as(:oneline) + ) ) ), b(a(str("logical-system"), arg), sc( b(a(str("routing-instance"), arg), @@ -2588,11 +2592,11 @@ b(str("address"), ipv4addr ) ) ) - ).as(:oneline) + ) ) ) ) ), a(str("agent-address"), arg) @@ -3251,11 +3255,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("ftp"), sc( str("disable"), str("ftps-extension"), str("line-break-extension"), @@ -3314,11 +3318,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("mgcp"), sc( str("disable"), a(str("inactive-media-timeout"), arg), a(str("transaction-timeout"), arg), @@ -3358,11 +3362,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("msrpc"), sc( str("disable"), b(str("traceoptions"), sc( @@ -3459,11 +3463,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("sip"), sc( str("disable"), a(str("inactive-media-timeout"), arg), a(str("maximum-call-duration"), arg), @@ -3511,11 +3515,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("sql"), sc( str("disable"), b(str("traceoptions"), sc( @@ -4872,11 +4876,11 @@ str("accept"), str("discard"), a(str("next"), arg) ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -4907,11 +4911,11 @@ a(str("description"), quote | arg), b(str("term"), term_object ) ) - ).as(:oneline) + ) end rule(:application_set_object) do b(arg.as(:arg), sc( @@ -4987,11 +4991,11 @@ b(a(str("dynamic-profile"), arg), sc( b(str("accept"), (str("inet") | str("inet6") | str("pppoe") | str("dhcp-v4") | str("dhcp-v6") | str("any")) ), - a(str("ranges"), arg).as(:oneline) + a(str("ranges"), arg) ) ), b(str("override"), sc( b(a(str("outer-tag"), arg), @@ -5017,20 +5021,20 @@ b(a(str("dynamic-profile"), arg), sc( b(str("accept"), (str("inet") | str("inet6") | str("pppoe") | str("dhcp-v4") | str("dhcp-v6") | str("any")) ), - a(str("ranges"), arg).as(:oneline) + a(str("ranges"), arg) ) ), b(str("override"), sc( b(a(str("tag"), arg), sc( a(str("dynamic-profile"), arg) ) - ).as(:oneline) + ) ) ), b(str("authentication"), auto_configure_authentication_type ), @@ -5281,11 +5285,11 @@ ), a(str("port-mirror-instance"), arg), str("port-mirror"), a(str("next-hop-group"), arg) ) - ).as(:oneline) + ) ) ) ) ) end @@ -5364,11 +5368,11 @@ str("accept"), str("discard"), a(str("next"), arg) ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -5463,11 +5467,11 @@ str("offline") ) ) ), str("member"), - str("fabric").as(:oneline), + str("fabric"), str("synchronization"), str("lcd-menu"), a(str("fru-poweron-sequence"), arg), str("auto-image-upgrade"), str("route-localization"), @@ -5544,10 +5548,16 @@ sc( str("no-secondary-bootup-auto") ) ) ) + ), + b(str("forwarding-options"), + sc( + a(str("num-65-127-prefix"), arg), + str("lpm-profile prefix-65-127-disable") + ) ) ) end rule(:chassis_ae_lb_type) do @@ -5681,11 +5691,13 @@ ) end rule(:chassis_feb_type) do sc( - str("slot") + b(a(str("slot"), arg), + a(str("sampling-instance"), arg) + ) ) end rule(:chassis_fpc_type) do b(arg.as(:arg), @@ -5704,11 +5716,11 @@ str("allow-sram-parity-errors") ), str("offline"), str("offline-on-fabric-bandwidth-reduction"), str("port-mirror-instance"), - str("sampling-instance"), + a(str("sampling-instance"), arg), b(str("inline-services"), a(str("bandwidth"), str("1g") | str("10g")) ), a(str("number-of-ports"), arg) ) @@ -5744,12 +5756,12 @@ str("adaptive-services"), str("monitoring-services") ), str("no-mcast-replication"), a(str("framing"), arg), - str("synchronization").as(:oneline), - str("recovered-clock").as(:oneline), + str("synchronization"), + str("recovered-clock"), a(str("vtmapping"), arg), str("no-concatenate"), str("no-multi-rate"), str("channelization"), str("linerate-mode"), @@ -5836,11 +5848,11 @@ b(str("port"), chassis_pic_port_framing ), b(str("fibre-channel"), chassis_fibre_channel_type - ).as(:oneline), + ), str("sfpplus"), str("hash-key"), a(str("ingress-policer-overhead"), arg), a(str("egress-policer-overhead"), arg), str("forwarding-mode") @@ -5871,11 +5883,11 @@ b(str("port-range-high"), arg ) ) ) - ).as(:oneline) + ) end rule(:chassis_pic_port_framing) do b(arg.as(:arg), sc( @@ -5935,11 +5947,11 @@ rule(:chassis_rdd_failover_type) do sc( str("on-loss-of-keepalives"), str("on-disk-failure") - ).as(:oneline) + ) end rule(:chassis_rdd_id_type) do b(arg.as(:arg), sc( @@ -6996,12 +7008,12 @@ a(str("threshold"), arg), b(str("credit"), sc( a(str("interval"), arg) ) - ).as(:oneline) - ).as(:oneline) + ) + ) end rule(:epd_threshold_config) do sc( a(str("epd-threshold-plp0"), arg), @@ -7143,11 +7155,11 @@ str("discard"), a(str("loss-priority"), arg), a(str("forwarding-class"), arg), str("out-of-profile") ) - ).as(:oneline) + ) ) ) end rule(:firewall_prefix_list) do @@ -7644,11 +7656,11 @@ c( str("note"), str("ignore") ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -7855,11 +7867,11 @@ ) ) ).as(:oneline) ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -7876,33 +7888,33 @@ str("only-at-create"), b(str("from"), sc( b(str("source-address"), firewall_addr6_simple_object - ).as(:oneline), + ), b(str("destination-address"), firewall_addr6_simple_object - ).as(:oneline), + ), c( b(str("source-port"), match_simple_port_value - ).as(:oneline) + ) ), c( b(str("destination-port"), match_simple_port_value - ).as(:oneline) + ) ), c( b(str("next-header"), match_simple_protocol_value - ).as(:oneline) + ) ), c( b(str("traffic-class"), match_simple_dscp_value - ).as(:oneline) + ) ), a(str("match-terms"), arg) ) ), b(str("then"), @@ -7926,11 +7938,11 @@ a(str("topology"), arg) ) ).as(:oneline) ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -7938,11 +7950,11 @@ rule(:firewall_addr6_simple_object) do sc( b(str("address"), ipv6prefix ) - ).as(:oneline) + ) end rule(:inet6_service_filter) do b(arg.as(:arg), sc( @@ -8024,11 +8036,11 @@ c( str("service"), str("skip") ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -8167,11 +8179,11 @@ c( str("note"), str("ignore") ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -8366,11 +8378,11 @@ str("accept"), b(str("discard"), sc( a(str("accounting"), arg) ) - ).as(:oneline), + ), a(str("next"), arg), b(str("logical-system"), s( b(str("logical-system-name"), arg @@ -8421,11 +8433,11 @@ a(str("load-balance"), arg) ), a(str("dscp"), arg), a(str("prefix-action"), arg) ) - ).as(:oneline) + ) ) ) ) ) end @@ -8442,33 +8454,33 @@ str("only-at-create"), b(str("from"), sc( b(str("source-address"), firewall_addr_simple_object - ).as(:oneline), + ), b(str("destination-address"), firewall_addr_simple_object - ).as(:oneline), + ), c( b(str("source-port"), match_simple_port_value - ).as(:oneline) + ) ), c( b(str("destination-port"), match_simple_port_value - ).as(:oneline) + ) ), c( b(str("protocol"), match_simple_protocol_value - ).as(:oneline) + ) ), c( b(str("dscp"), match_simple_dscp_value - ).as(:oneline) + ) ), a(str("match-terms"), arg) ) ), b(str("then"), @@ -8492,11 +8504,11 @@ a(str("topology"), arg) ) ).as(:oneline) ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -8504,11 +8516,11 @@ rule(:firewall_addr_simple_object) do sc( b(str("address"), ipv4prefix ) - ).as(:oneline) + ) end rule(:inet_service_filter) do b(arg.as(:arg), sc( @@ -8613,11 +8625,11 @@ c( str("service"), str("skip") ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -8671,11 +8683,11 @@ a(str("loss-priority"), arg), a(str("forwarding-class"), arg), str("discard"), str("accept") ) - ).as(:oneline) + ) ) ) ) ) end @@ -8766,21 +8778,21 @@ b(str("excessive-packet-loss-rate"), sc( a(str("threshold"), arg), a(str("sample-period"), arg) ) - ).as(:oneline), + ), c( a(str("jitter-buffer-packets"), arg), a(str("jitter-buffer-latency"), arg), str("jitter-buffer-auto-adjust") ), a(str("bit-rate"), arg) ) - ).as(:oneline), - str("ima-group-options").as(:oneline), - str("ima-link-options").as(:oneline), + ), + str("ima-group-options"), + str("ima-link-options"), b(str("multi-chassis-protection"), multi_chassis_protection_group ), b(str("clocking"), sc( @@ -9238,11 +9250,11 @@ sc( b(str("parent"), interface_device ) ) - ).as(:oneline), + ), b(str("802.3ad"), sc( arg, b(str("lacp"), sc( @@ -9257,11 +9269,11 @@ c( str("primary"), str("backup") ) ) - ).as(:oneline), + ), b(str("ethernet-switch-profile"), sc( a(str("tag-protocol-id"), arg), b(str("ethernet-policer-profile"), sc( @@ -9327,11 +9339,11 @@ sc( b(str("parent"), interface_device ) ) - ).as(:oneline), + ), b(str("802.3ad"), sc( arg, b(str("lacp"), sc( @@ -9345,11 +9357,11 @@ c( str("primary"), str("backup") ) ) - ).as(:oneline), + ), b(str("mpls"), mpls_ifd_options ), str("ignore-l3-incompletes") ) @@ -9543,24 +9555,24 @@ sc( b(str("interface-name"), interface_unit ) ) - ).as(:oneline), + ), b(str("interface-shared-with"), sc( a(str("psd-name"), arg) ) - ).as(:oneline), + ), c( str("disable") ), str("passive-monitor-mode"), str("per-session-scheduler"), str("clear-dont-fragment-bit"), str("reassemble-packets"), - str("rpm").as(:oneline), + str("rpm"), a(str("description"), quote | arg), a(str("metadata"), arg), str("dial-options"), b(str("demux-source"), (str("inet") | str("inet6")) @@ -9621,14 +9633,14 @@ ) ) ), b(str("input-vlan-map"), vlan_map - ).as(:oneline), + ), b(str("output-vlan-map"), vlan_map - ).as(:oneline), + ), str("swap-by-poppush"), a(str("receive-lsp"), arg), a(str("transmit-lsp"), arg), a(str("dlci"), arg), a(str("multicast-dlci"), arg), @@ -9816,20 +9828,20 @@ sc( str("loose") ) ).as(:oneline) ) - ).as(:oneline), + ), a(str("mtu"), arg), str("no-redirects"), str("no-neighbor-learn"), str("unconditional-src-learn"), str("multicast-only"), str("primary"), a(str("ipsec-sa"), arg), - str("demux-source").as(:oneline), - str("demux-destination").as(:oneline), + str("demux-source"), + str("demux-destination"), b(str("filter"), sc( c( b(str("input"), sc( @@ -9881,11 +9893,11 @@ ), b(a(str("next-hop-tunnel"), arg), sc( a(str("ipsec-vpn"), arg) ) - ).as(:oneline), + ), b(a(str("address"), arg), sc( b(str("destination"), ipv4addr ), @@ -9925,11 +9937,11 @@ a(str("transmit-weight"), arg), b(str("epd-threshold"), epd_threshold_config ).as(:oneline) ) - ).as(:oneline), + ), b(a(str("arp"), arg), sc( b(str("l2-interface"), interface_name ), @@ -9948,11 +9960,11 @@ sc( str("http"), str("https"), str("redirect-to-https") ) - ).as(:oneline), + ), b(str("vrrp-group"), vrrp_group ) ) ), @@ -10010,11 +10022,11 @@ sc( str("loose") ) ).as(:oneline) ) - ).as(:oneline), + ), b(str("accounting"), sc( b(str("source-class-usage"), sc( str("input"), @@ -10104,15 +10116,15 @@ sc( str("http"), str("https"), str("redirect-to-https") ) - ).as(:oneline) + ) ) ), - str("demux-source").as(:oneline), - str("demux-destination").as(:oneline), + str("demux-source"), + str("demux-destination"), b(str("unnumbered-address"), sc( b(str("source"), interface_unit ), @@ -10343,11 +10355,11 @@ sc( a(str("to-vlan-id"), arg) ) ).as(:oneline) ) - ).as(:oneline), + ), c( a(str("isid-list"), arg) ) ) ), @@ -10476,11 +10488,11 @@ arg ) ) ) ) - ).as(:oneline) + ) end rule(:jsrc_partition_definition) do sc( str("partition") @@ -10839,11 +10851,11 @@ rule(:access_client_name_filter_object) do sc( a(str("domain-name"), arg), a(str("separator"), arg), a(str("count"), arg) - ).as(:oneline) + ) end rule(:access_client_object) do b(arg.as(:arg), sc( @@ -10872,11 +10884,11 @@ sc( a(str("password"), arg) ) ) ) - ).as(:oneline) + ) end rule(:access_ldap_options) do sc( a(str("revert-interval"), arg), @@ -10925,11 +10937,11 @@ b(str("source-address"), ipaddr ), a(str("routing-instance"), arg) ) - ).as(:oneline) + ) end rule(:address_assignment_type) do sc( b(str("neighbor-discovery-router-advertisement"), @@ -11006,11 +11018,11 @@ b(str("high"), ipv6prefix_mandatory ), a(str("prefix-length"), arg) ) - ).as(:oneline), + ), b(str("dhcp-attributes"), dhcp_attribute_type ) ) ) @@ -11087,13 +11099,13 @@ sc( a(str("range"), arg) ) ).as(:oneline) ) - ).as(:oneline) + ) ) - ).as(:oneline), + ), a(str("maximum-lease-time"), arg), b(str("next-server"), ipv4addr ), b(str("server-identifier"), @@ -11176,11 +11188,11 @@ a(str("aaa-routing-instance"), arg), b(a(str("aaa-logical-system"), arg), sc( a(str("aaa-routing-instance"), arg) ) - ).as(:oneline) + ) ), a(str("access-profile"), arg), a(str("address-pool"), arg), a(str("dynamic-profile"), arg), b(a(str("padn"), arg), @@ -11195,11 +11207,11 @@ a(str("target-routing-instance"), arg), b(a(str("target-logical-system"), arg), sc( a(str("target-routing-instance"), arg) ) - ).as(:oneline) + ) ), str("strip-domain"), a(str("tunnel-profile"), arg) ) ), @@ -11589,11 +11601,11 @@ b(str("dynamic-profile"), dynamic_profile_type ).as(:oneline), a(str("service-profile"), arg) ) - ).as(:oneline) + ) ) ) end rule(:dynamic_profile_type) do @@ -12108,11 +12120,11 @@ c( str("exact"), str("rate-limit") ) ) - ).as(:oneline), + ), str("excess-rate").as(:oneline), b(str("shaping-rate"), sc( c( a(str("rate"), arg), @@ -12134,11 +12146,11 @@ ), c( str("exact") ) ) - ).as(:oneline), + ), a(str("priority"), arg), a(str("excess-priority"), arg), b(str("drop-profile-map"), s( b(str("loss-priority"), @@ -12342,11 +12354,11 @@ b(str("ieee-802.1ad"), sc( a(str("rewrite-rule-name"), arg), a(str("vlan-tag"), arg) ) - ).as(:oneline) + ) ) ), str("loss-priority-rewrites"), str("translation-table") ) @@ -12398,41 +12410,41 @@ b(str("cos-excess-rate"), sc( a(str("proportion"), arg), a(str("percent"), arg) ) - ).as(:oneline), + ), b(str("cos-excess-rate-high"), sc( a(str("proportion"), arg), a(str("percent"), arg) ) - ).as(:oneline), + ), b(str("cos-excess-rate-low"), sc( a(str("proportion"), arg), a(str("percent"), arg) ) - ).as(:oneline), + ), b(str("cos-scheduler-tx"), sc( a(str("rate"), arg), a(str("percent"), arg) ) - ).as(:oneline), + ), b(str("cos-scheduler-bs"), sc( a(str("percent"), arg), a(str("temporal"), arg) ) - ).as(:oneline), + ), b(str("cos-scheduler-shaping-rate"), sc( a(str("rate"), arg), a(str("percent"), arg) ) - ).as(:oneline), + ), b(str("other-variables"), base_default_variable_object ) ) ), @@ -12640,11 +12652,11 @@ ) ) ) ) ) - ).as(:oneline), + ), b(a(str("iso-route"), arg), sc( c( b(str("next-hop"), ipaddr_or_interface @@ -12763,11 +12775,11 @@ ) ) ) ) ) - ).as(:oneline) + ) ) ), b(str("martians"), martian_type ), @@ -12806,21 +12818,21 @@ str("equal-external-internal") ) ).as(:oneline), str("as-path-compare") ) - ).as(:oneline), + ), b(str("label"), sc( b(str("allocation"), policy_algebra ), b(str("substitution"), policy_algebra ) ) - ).as(:oneline), + ), b(str("access"), sc( b(a(str("route"), arg), sc( b(str("next-hop"), @@ -12831,11 +12843,11 @@ ), a(str("metric"), arg), a(str("preference"), arg), a(str("tag"), arg) ) - ).as(:oneline) + ) ) ), b(str("access-internal"), sc( b(a(str("route"), arg), @@ -12845,11 +12857,11 @@ ), b(str("qualified-next-hop"), qualified_nh_obj ) ) - ).as(:oneline) + ) ) ) ) ), b(str("access"), @@ -12864,11 +12876,11 @@ ), a(str("metric"), arg), a(str("preference"), arg), a(str("tag"), arg) ) - ).as(:oneline) + ) ) ), b(str("access-internal"), sc( b(a(str("route"), arg), @@ -12878,11 +12890,11 @@ ), b(str("qualified-next-hop"), qualified_nh_obj ) ) - ).as(:oneline) + ) ) ), b(str("multicast"), sc( b(str("traceoptions"), @@ -13125,21 +13137,21 @@ b(str("excessive-packet-loss-rate"), sc( a(str("threshold"), arg), a(str("sample-period"), arg) ) - ).as(:oneline), + ), c( a(str("jitter-buffer-packets"), arg), a(str("jitter-buffer-latency"), arg), str("jitter-buffer-auto-adjust") ), a(str("bit-rate"), arg) ) - ).as(:oneline), - str("ima-group-options").as(:oneline), - str("ima-link-options").as(:oneline), + ), + str("ima-group-options"), + str("ima-link-options"), b(str("multi-chassis-protection"), multi_chassis_protection_group ), b(str("clocking"), sc( @@ -13597,11 +13609,11 @@ sc( b(str("parent"), interface_device ) ) - ).as(:oneline), + ), b(str("802.3ad"), sc( arg, b(str("lacp"), sc( @@ -13616,11 +13628,11 @@ c( str("primary"), str("backup") ) ) - ).as(:oneline), + ), b(str("ethernet-switch-profile"), sc( a(str("tag-protocol-id"), arg), b(str("ethernet-policer-profile"), sc( @@ -13686,11 +13698,11 @@ sc( b(str("parent"), interface_device ) ) - ).as(:oneline), + ), b(str("802.3ad"), sc( arg, b(str("lacp"), sc( @@ -13704,11 +13716,11 @@ c( str("primary"), str("backup") ) ) - ).as(:oneline), + ), b(str("mpls"), mpls_ifd_options ), str("ignore-l3-incompletes") ) @@ -13902,24 +13914,24 @@ sc( b(str("interface-name"), interface_unit ) ) - ).as(:oneline), + ), b(str("interface-shared-with"), sc( a(str("psd-name"), arg) ) - ).as(:oneline), + ), c( str("disable") ), str("passive-monitor-mode"), str("per-session-scheduler"), str("clear-dont-fragment-bit"), str("reassemble-packets"), - str("rpm").as(:oneline), + str("rpm"), a(str("description"), quote | arg), a(str("metadata"), arg), str("dial-options"), b(str("demux-source"), (str("inet") | str("inet6")) @@ -13980,14 +13992,14 @@ ) ) ), b(str("input-vlan-map"), vlan_map - ).as(:oneline), + ), b(str("output-vlan-map"), vlan_map - ).as(:oneline), + ), str("swap-by-poppush"), a(str("receive-lsp"), arg), a(str("transmit-lsp"), arg), a(str("dlci"), arg), a(str("multicast-dlci"), arg), @@ -14175,20 +14187,20 @@ sc( str("loose") ) ).as(:oneline) ) - ).as(:oneline), + ), a(str("mtu"), arg), str("no-redirects"), str("no-neighbor-learn"), str("unconditional-src-learn"), str("multicast-only"), str("primary"), a(str("ipsec-sa"), arg), - str("demux-source").as(:oneline), - str("demux-destination").as(:oneline), + str("demux-source"), + str("demux-destination"), b(str("filter"), sc( c( b(str("input"), sc( @@ -14240,11 +14252,11 @@ ), b(a(str("next-hop-tunnel"), arg), sc( a(str("ipsec-vpn"), arg) ) - ).as(:oneline), + ), b(a(str("address"), arg), sc( b(str("destination"), ipv4addr ), @@ -14284,11 +14296,11 @@ a(str("transmit-weight"), arg), b(str("epd-threshold"), epd_threshold_config ).as(:oneline) ) - ).as(:oneline), + ), b(a(str("arp"), arg), sc( b(str("l2-interface"), interface_name ), @@ -14307,11 +14319,11 @@ sc( str("http"), str("https"), str("redirect-to-https") ) - ).as(:oneline), + ), b(str("vrrp-group"), vrrp_group ) ) ), @@ -14369,11 +14381,11 @@ sc( str("loose") ) ).as(:oneline) ) - ).as(:oneline), + ), b(str("accounting"), sc( b(str("source-class-usage"), sc( str("input"), @@ -14463,15 +14475,15 @@ sc( str("http"), str("https"), str("redirect-to-https") ) - ).as(:oneline) + ) ) ), - str("demux-source").as(:oneline), - str("demux-destination").as(:oneline), + str("demux-source"), + str("demux-destination"), b(str("unnumbered-address"), sc( b(str("source"), interface_unit ), @@ -14702,11 +14714,11 @@ sc( a(str("to-vlan-id"), arg) ) ).as(:oneline) ) - ).as(:oneline), + ), c( a(str("isid-list"), arg) ) ) ), @@ -15500,11 +15512,11 @@ ) ) ) ) ) - ).as(:oneline), + ), b(a(str("iso-route"), arg), sc( c( b(str("next-hop"), ipaddr_or_interface @@ -15623,11 +15635,11 @@ ) ) ) ) ) - ).as(:oneline) + ) ) ), b(str("martians"), martian_type ), @@ -15666,21 +15678,21 @@ str("equal-external-internal") ) ).as(:oneline), str("as-path-compare") ) - ).as(:oneline), + ), b(str("label"), sc( b(str("allocation"), policy_algebra ), b(str("substitution"), policy_algebra ) ) - ).as(:oneline), + ), b(str("access"), sc( b(a(str("route"), arg), sc( b(str("next-hop"), @@ -15691,11 +15703,11 @@ ), a(str("metric"), arg), a(str("preference"), arg), a(str("tag"), arg) ) - ).as(:oneline) + ) ) ), b(str("access-internal"), sc( b(a(str("route"), arg), @@ -15705,11 +15717,11 @@ ), b(str("qualified-next-hop"), qualified_nh_obj ) ) - ).as(:oneline) + ) ) ) ) ), b(str("access"), @@ -15724,11 +15736,11 @@ ), a(str("metric"), arg), a(str("preference"), arg), a(str("tag"), arg) ) - ).as(:oneline) + ) ) ), b(str("access-internal"), sc( b(a(str("route"), arg), @@ -15738,11 +15750,11 @@ ), b(str("qualified-next-hop"), qualified_nh_obj ) ) - ).as(:oneline) + ) ) ), b(str("multicast"), sc( b(str("traceoptions"), @@ -15987,11 +15999,11 @@ rule(:base_default_variable_object) do b((str("igmp-enable") | str("igmp-access-group-name") | str("igmp-access-source-group-name") | str("igmp-version") | str("igmp-immediate-leave") | str("mld-access-group-name") | str("mld-access-source-group-name") | str("mld-immediate-leave") | str("input-filter") | str("output-filter") | str("input-ipv6-filter") | str("output-ipv6-filter") | str("adf-rule-v4") | str("adf-rule-v6") | str("cos-scheduler-map") | str("cos-shaping-rate") | str("cos-guaranteed-rate") | str("cos-delay-buffer-rate") | str("cos-traffic-control-profile") | str("cos-shaping-mode") | str("cos-byte-adjust") | str("cos-scheduler") | str("cos-scheduler-pri") | str("cos-scheduler-dropfile-low") | str("cos-scheduler-dropfile-medium-low") | str("cos-scheduler-dropfile-medium-high") | str("cos-scheduler-dropfile-high") | str("cos-scheduler-dropfile-any") | str("cos-scheduler-excess-rate") | str("cos-scheduler-excess-priority") | str("interface-set-name") | str("cos-adjust-minimum") | str("cos-excess-rate-high") | str("cos-excess-rate-low") | str("cos-shaping-rate-burst") | str("cos-guaranteed-rate-burst")).as(:arg), sc( a(str("default-value"), arg) ) - ).as(:oneline) + ) end rule(:cfm_traceoptions) do sc( str("no-remote-trace"), @@ -16043,11 +16055,11 @@ a(str("default-value"), arg), str("mandatory"), str("uid-reference"), str("uid") ) - ).as(:oneline) + ) end rule(:juniper_ethernet_options) do sc( b(str("traceoptions"), @@ -16580,11 +16592,11 @@ a(str("routing-instance"), arg) ) ).as(:oneline), a(str("routing-instance"), arg) ) - ).as(:oneline), + ), a(str("maximum-hop-count"), arg), a(str("minimum-wait-time"), arg), a(str("client-response-ttl"), arg), str("source-address-giaddr"), str("vpn"), @@ -16600,11 +16612,11 @@ a(str("routing-instance"), arg) ) ).as(:oneline), a(str("routing-instance"), arg) ) - ).as(:oneline), + ), a(str("maximum-hop-count"), arg), a(str("minimum-wait-time"), arg), a(str("client-response-ttl"), arg), str("source-address-giaddr"), str("vpn"), @@ -16804,11 +16816,11 @@ ) ) ) ) ), - str("instance").as(:oneline) + str("instance") ) ) ) ), b(str("system"), @@ -17497,11 +17509,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("ftp"), sc( str("disable"), str("ftps-extension"), str("line-break-extension"), @@ -17560,11 +17572,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("mgcp"), sc( str("disable"), a(str("inactive-media-timeout"), arg), a(str("transaction-timeout"), arg), @@ -17604,11 +17616,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("msrpc"), sc( str("disable"), b(str("traceoptions"), sc( @@ -17705,11 +17717,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("sip"), sc( str("disable"), a(str("inactive-media-timeout"), arg), a(str("maximum-call-duration"), arg), @@ -17757,11 +17769,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("sql"), sc( str("disable"), b(str("traceoptions"), sc( @@ -18815,11 +18827,11 @@ a(str("condition"), arg), b(str("community-count"), community_count_type ) ) - ).as(:oneline), + ), b(str("to"), sc( a(str("instance"), arg), a(str("family"), arg), a(str("protocol"), arg), @@ -18857,11 +18869,11 @@ a(str("local-preference"), arg), b(str("policy"), policy_algebra ) ) - ).as(:oneline), + ), b(str("then"), sc( b(str("metric"), sc( c( @@ -18878,104 +18890,104 @@ a(str("metric_offset"), arg) ) ).as(:oneline), b(str("expression"), metric_expression_type - ).as(:oneline) + ) ) ) - ).as(:oneline), + ), b(str("metric2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric3"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric4"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("local-preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), a(str("priority"), arg), a(str("label-allocation"), arg), a(str("origin"), arg), b(str("aigp-originate"), sc( @@ -19026,13 +19038,11 @@ b(str("next-hop"), sc( c( str("self"), str("peer-address"), - b(str("address"), - ipaddr - ), + ipaddr, str("reject"), str("discard"), a(str("next-table"), arg) ) ) @@ -19098,11 +19108,11 @@ c( str("accept"), str("reject") ) ) - ).as(:oneline) + ) ) ), b(str("from"), sc( a(str("instance"), arg), @@ -19178,11 +19188,11 @@ a(str("condition"), arg), b(str("community-count"), community_count_type ) ) - ).as(:oneline), + ), b(str("to"), sc( a(str("instance"), arg), a(str("family"), arg), a(str("protocol"), arg), @@ -19220,11 +19230,11 @@ a(str("local-preference"), arg), b(str("policy"), policy_algebra ) ) - ).as(:oneline), + ), b(str("then"), sc( b(str("metric"), sc( c( @@ -19241,104 +19251,104 @@ a(str("metric_offset"), arg) ) ).as(:oneline), b(str("expression"), metric_expression_type - ).as(:oneline) + ) ) ) - ).as(:oneline), + ), b(str("metric2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric3"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric4"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("local-preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), a(str("priority"), arg), a(str("label-allocation"), arg), a(str("origin"), arg), b(str("aigp-originate"), sc( @@ -19389,13 +19399,11 @@ b(str("next-hop"), sc( c( str("self"), str("peer-address"), - b(str("address"), - ipaddr - ), + ipaddr, str("reject"), str("discard"), a(str("next-table"), arg) ) ) @@ -19461,25 +19469,25 @@ c( str("accept"), str("reject") ) ) - ).as(:oneline) + ) ) ), b(a(str("community"), arg), sc( str("invert-match"), a(str("members"), arg) ) - ).as(:oneline), + ), b(a(str("as-path"), arg), sc( quote, arg ) - ).as(:oneline), + ), b(a(str("as-path-group"), arg), sc( b(a(str("as-path"), arg), sc( quote, @@ -19511,11 +19519,11 @@ a(str("table"), arg) ) ) ) ) - ).as(:oneline), + ), b(str("application-maps"), application_map_object ) ) end @@ -19577,104 +19585,104 @@ a(str("metric_offset"), arg) ) ).as(:oneline), b(str("expression"), metric_expression_type - ).as(:oneline) + ) ) ) - ).as(:oneline), + ), b(str("metric2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric3"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric4"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("local-preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), a(str("priority"), arg), a(str("label-allocation"), arg), a(str("origin"), arg), b(str("aigp-originate"), sc( @@ -19725,13 +19733,11 @@ b(str("next-hop"), sc( c( str("self"), str("peer-address"), - b(str("address"), - ipaddr - ), + ipaddr, str("reject"), str("discard"), a(str("next-table"), arg) ) ) @@ -19797,11 +19803,11 @@ c( str("accept"), str("reject") ) ) - ).as(:oneline) + ) end rule(:control_prefix_list_type) do arg.as(:arg) end @@ -19849,104 +19855,104 @@ a(str("metric_offset"), arg) ) ).as(:oneline), b(str("expression"), metric_expression_type - ).as(:oneline) + ) ) ) - ).as(:oneline), + ), b(str("metric2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric3"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric4"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("local-preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), a(str("priority"), arg), a(str("label-allocation"), arg), a(str("origin"), arg), b(str("aigp-originate"), sc( @@ -19997,13 +20003,11 @@ b(str("next-hop"), sc( c( str("self"), str("peer-address"), - b(str("address"), - ipaddr - ), + ipaddr, str("reject"), str("discard"), a(str("next-table"), arg) ) ) @@ -20069,11 +20073,11 @@ c( str("accept"), str("reject") ) ) - ).as(:oneline) + ) end rule(:control_source_address_filter_type) do s( arg, @@ -20114,104 +20118,104 @@ a(str("metric_offset"), arg) ) ).as(:oneline), b(str("expression"), metric_expression_type - ).as(:oneline) + ) ) ) - ).as(:oneline), + ), b(str("metric2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric3"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("metric4"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("tag2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("preference2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("color2"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), b(str("local-preference"), sc( c( arg, a(str("add"), arg), a(str("subtract"), arg) ) ) - ).as(:oneline), + ), a(str("priority"), arg), a(str("label-allocation"), arg), a(str("origin"), arg), b(str("aigp-originate"), sc( @@ -20262,13 +20266,11 @@ b(str("next-hop"), sc( c( str("self"), str("peer-address"), - b(str("address"), - ipaddr - ), + ipaddr, str("reject"), str("discard"), a(str("next-table"), arg) ) ) @@ -20334,11 +20336,11 @@ c( str("accept"), str("reject") ) ) - ).as(:oneline) + ) end rule(:juniper_port_mirror_options) do sc( b(str("traceoptions"), @@ -20381,11 +20383,11 @@ ) ) ) ) ), - str("instance").as(:oneline) + str("instance") ) end rule(:inet6_pm_family_output_type) do sc( @@ -20679,11 +20681,11 @@ ), str("helper-disable"), a(str("maximum-helper-restart-time"), arg), a(str("maximum-helper-recovery-time"), arg) ) - ).as(:oneline), + ), b(str("tunnel-services"), sc( b(str("devices"), interface_device ) @@ -20701,16 +20703,16 @@ str("no-local-reversion"), b(str("fast-reroute"), sc( a(str("optimize-timer"), arg) ) - ).as(:oneline), + ), b(str("load-balance"), sc( str("bandwidth") ) - ).as(:oneline), + ), b(str("traceoptions"), sc( b(str("file"), trace_file_type ), @@ -20737,13 +20739,13 @@ ), b(str("soft-preemption"), sc( a(str("cleanup-timer"), arg) ) - ).as(:oneline) + ) ) - ).as(:oneline), + ), b(a(str("interface"), arg), sc( c( str("disable") ), @@ -20755,21 +20757,21 @@ str("reliable"), str("no-reliable"), a(str("hello-interval"), arg), b(str("subscription"), subscription_type - ).as(:oneline), + ), a(str("bandwidth"), arg), a(str("update-threshold"), arg), b(str("link-protection"), sc( c( str("disable") ), b(str("bandwidth"), bandwidth_type - ).as(:oneline), + ), a(str("max-bypasses"), arg), a(str("subscription"), arg), str("no-node-protection"), a(str("optimize-timer"), arg), a(str("class-of-service"), arg), @@ -20790,19 +20792,19 @@ ) ) ).as(:oneline), b(str("admin-group"), admin_group_include_exclude - ).as(:oneline), + ), b(a(str("bypass"), arg), sc( b(str("to"), ipv4addr ), b(str("bandwidth"), bandwidth_type - ).as(:oneline), + ), a(str("description"), quote | arg), b(str("priority"), sc( a(str("setup-priority"), arg), a(str("reservation-priority"), arg) @@ -20820,11 +20822,11 @@ ) ) ).as(:oneline), b(str("admin-group"), admin_group_include_exclude - ).as(:oneline) + ) ) ) ) ) ) @@ -20849,11 +20851,11 @@ c( str("disable") ), b(str("match-criteria"), lsp_set_match_type - ).as(:oneline), + ), b(str("traceoptions"), sc( b(str("file"), trace_file_type ), @@ -20881,11 +20883,11 @@ str("allow-fragmentation"), b(str("rsvp"), sc( str("mtu-signaling") ) - ).as(:oneline) + ) ) ), b(str("diffserv-te"), sc( a(str("bandwidth-model"), arg), @@ -20927,11 +20929,11 @@ str("drop"), str("loss-priority-high"), str("loss-priority-low") ) ) - ).as(:oneline) + ) ) ), b(str("statistics"), sc( b(str("file"), @@ -20970,11 +20972,11 @@ ), b(a(str("admin-groups"), arg), sc( a(str("group-value"), arg) ) - ).as(:oneline), + ), a(str("advertisement-hold-time"), arg), a(str("rsvp-error-hold-time"), arg), str("optimize-aggressive"), a(str("smart-optimize-timer"), arg), a(str("optimize-switchover-delay"), arg), @@ -20986,11 +20988,11 @@ a(str("optimize-hold-dead-delay"), arg), str("expand-loose-hop"), str("mib-mpls-show-p2mp"), b(str("bandwidth"), bandwidth_type - ).as(:oneline), + ), a(str("class-of-service"), arg), str("no-decrement-ttl"), a(str("hop-limit"), arg), str("no-cspf"), str("admin-down"), @@ -21006,17 +21008,17 @@ str("no-record"), str("standby"), str("exclude-srlg"), b(str("admin-group"), admin_group_include_exclude - ).as(:oneline), + ), b(str("admin-group-extended"), admin_group_include_exclude - ).as(:oneline), + ), b(str("oam"), periodic_oam - ).as(:oneline), + ), b(a(str("label-switched-path"), arg), sc( c( str("disable") ), @@ -21059,11 +21061,11 @@ ), a(str("revert-timer"), arg), a(str("optimize-hold-dead-delay"), arg), b(str("bandwidth"), bandwidth_type - ).as(:oneline), + ), a(str("class-of-service"), arg), str("no-decrement-ttl"), a(str("hop-limit"), arg), str("no-cspf"), str("admin-down"), @@ -21079,17 +21081,17 @@ str("no-record"), str("standby"), str("exclude-srlg"), b(str("admin-group"), admin_group_include_exclude - ).as(:oneline), + ), b(str("admin-group-extended"), admin_group_include_exclude - ).as(:oneline), + ), b(str("oam"), periodic_oam - ).as(:oneline), + ), c( str("random"), str("least-fill"), str("most-fill") ), @@ -21146,11 +21148,11 @@ ), b(a(str("primary"), arg), sc( b(str("bandwidth"), bandwidth_type - ).as(:oneline), + ), a(str("class-of-service"), arg), str("no-decrement-ttl"), a(str("hop-limit"), arg), str("no-cspf"), str("admin-down"), @@ -21166,26 +21168,26 @@ str("no-record"), str("standby"), str("exclude-srlg"), b(str("admin-group"), admin_group_include_exclude - ).as(:oneline), + ), b(str("admin-group-extended"), admin_group_include_exclude - ).as(:oneline), + ), b(str("oam"), periodic_oam - ).as(:oneline), + ), str("adaptive"), a(str("select"), arg) ) ), b(a(str("secondary"), arg), sc( b(str("bandwidth"), bandwidth_type - ).as(:oneline), + ), a(str("class-of-service"), arg), str("no-decrement-ttl"), a(str("hop-limit"), arg), str("no-cspf"), str("admin-down"), @@ -21201,17 +21203,17 @@ str("no-record"), str("standby"), str("exclude-srlg"), b(str("admin-group"), admin_group_include_exclude - ).as(:oneline), + ), b(str("admin-group-extended"), admin_group_include_exclude - ).as(:oneline), + ), b(str("oam"), periodic_oam - ).as(:oneline), + ), str("adaptive"), a(str("select"), arg) ) ), b(str("policing"), @@ -21461,14 +21463,14 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg) ) - ).as(:oneline), + ), b(str("spf-options"), sc( a(str("delay"), arg), a(str("holddown"), arg), a(str("rapid-runs"), arg), @@ -21479,28 +21481,28 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg), a(str("rib-group"), arg), b(str("overload"), sc( a(str("timeout"), arg) ) - ).as(:oneline), + ), b(str("database-protection"), sc( a(str("maximum-lsa"), arg), str("warning-only"), a(str("warning-threshold"), arg), a(str("ignore-count"), arg), a(str("ignore-time"), arg), a(str("reset-time"), arg) ) - ).as(:oneline), + ), b(str("graceful-restart"), sc( c( str("disable") ), @@ -21515,25 +21517,25 @@ ) ) ), str("no-strict-lsa-checking") ) - ).as(:oneline), + ), b(str("traffic-engineering"), sc( str("no-topology"), str("multicast-rpf-routes"), str("ignore-lsp-metrics"), b(str("shortcuts"), sc( str("lsp-metric-into-summary") ) - ).as(:oneline), + ), str("advertise-unnumbered-interfaces"), str("credibility-protocol-preference") ) - ).as(:oneline), + ), a(str("route-type-community"), arg), b(str("domain-id"), sc( c( a(str("domain-id"), arg), @@ -21562,11 +21564,11 @@ sc( b(str("local"), ipaddr ) ) - ).as(:oneline), + ), b(a(str("area"), arg), sc( c( b(str("stub"), sc( @@ -21581,11 +21583,11 @@ sc( a(str("default-metric"), arg), a(str("metric-type"), arg), str("type-7") ) - ).as(:oneline), + ), str("summaries"), str("no-summaries"), b(a(str("area-range"), arg), sc( str("restrict"), @@ -21593,23 +21595,23 @@ b(str("override-metric"), sc( a(str("metric"), arg), a(str("metric-type"), arg) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ), b(a(str("area-range"), arg), sc( str("restrict"), str("exact"), a(str("override-metric"), arg) ) - ).as(:oneline), + ), b(str("network-summary-export"), policy_algebra ), b(str("network-summary-import"), policy_algebra @@ -21657,11 +21659,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ) ), b(a(str("sham-link-remote"), arg), sc( @@ -21681,13 +21683,13 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) - ).as(:oneline), + ), b(a(str("interface"), arg), sc( c( str("disable") ), @@ -21750,11 +21752,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("bfd-liveness-detection"), sc( a(str("version"), arg), a(str("minimum-interval"), arg), a(str("minimum-receive-interval"), arg), @@ -21813,11 +21815,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ), b(a(str("peer-interface"), arg), sc( c( @@ -21877,14 +21879,14 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg) ) - ).as(:oneline), + ), b(str("spf-options"), sc( a(str("delay"), arg), a(str("holddown"), arg), a(str("rapid-runs"), arg), @@ -21895,28 +21897,28 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg), a(str("rib-group"), arg), b(str("overload"), sc( a(str("timeout"), arg) ) - ).as(:oneline), + ), b(str("database-protection"), sc( a(str("maximum-lsa"), arg), str("warning-only"), a(str("warning-threshold"), arg), a(str("ignore-count"), arg), a(str("ignore-time"), arg), a(str("reset-time"), arg) ) - ).as(:oneline), + ), b(str("graceful-restart"), sc( c( str("disable") ), @@ -21931,25 +21933,25 @@ ) ) ), str("no-strict-lsa-checking") ) - ).as(:oneline), + ), b(str("traffic-engineering"), sc( str("no-topology"), str("multicast-rpf-routes"), str("ignore-lsp-metrics"), b(str("shortcuts"), sc( str("lsp-metric-into-summary") ) - ).as(:oneline), + ), str("advertise-unnumbered-interfaces"), str("credibility-protocol-preference") ) - ).as(:oneline), + ), a(str("route-type-community"), arg), b(str("domain-id"), sc( c( a(str("domain-id"), arg), @@ -21978,11 +21980,11 @@ sc( b(str("local"), ipaddr ) ) - ).as(:oneline), + ), b(a(str("area"), arg), sc( c( b(str("stub"), sc( @@ -21997,11 +21999,11 @@ sc( a(str("default-metric"), arg), a(str("metric-type"), arg), str("type-7") ) - ).as(:oneline), + ), str("summaries"), str("no-summaries"), b(a(str("area-range"), arg), sc( str("restrict"), @@ -22009,23 +22011,23 @@ b(str("override-metric"), sc( a(str("metric"), arg), a(str("metric-type"), arg) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ), b(a(str("area-range"), arg), sc( str("restrict"), str("exact"), a(str("override-metric"), arg) ) - ).as(:oneline), + ), b(str("network-summary-export"), policy_algebra ), b(str("network-summary-import"), policy_algebra @@ -22073,11 +22075,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ) ), b(a(str("sham-link-remote"), arg), sc( @@ -22097,13 +22099,13 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) - ).as(:oneline), + ), b(a(str("interface"), arg), sc( c( str("disable") ), @@ -22166,11 +22168,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("bfd-liveness-detection"), sc( a(str("version"), arg), a(str("minimum-interval"), arg), a(str("minimum-receive-interval"), arg), @@ -22229,11 +22231,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ), b(a(str("peer-interface"), arg), sc( c( @@ -22382,11 +22384,11 @@ str("ignore-encapsulation-mismatch"), str("ignore-mtu-mismatch"), str("no-revert"), b(str("bandwidth"), bandwidth_type - ).as(:oneline), + ), str("pseudowire-status-tlv"), a(str("switchover-delay"), arg), a(str("revert-time"), arg), str("connection-protection"), b(a(str("backup-neighbor"), arg), @@ -23122,10 +23124,13 @@ b(str("igmp-snooping"), juniper_protocols_igmp_snooping ), b(str("mld-snooping"), juniper_protocols_mld_snooping + ), + b(str("layer2-control"), + juniper_protocols_layer2_control ) ) end rule(:admin_group_include_exclude) do @@ -23137,21 +23142,21 @@ a(str("include-all"), arg) ), c( a(str("exclude"), arg) ) - ).as(:oneline) + ) end rule(:bandwidth_type) do sc( a(str("per-traffic-class-bandwidth"), arg), a(str("ct0"), arg), a(str("ct1"), arg), a(str("ct2"), arg), a(str("ct3"), arg) - ).as(:oneline) + ) end rule(:civic_address_elements) do sc( a(str("what"), arg), @@ -23292,11 +23297,11 @@ ) ), str("external-router-id"), str("as-path-ignore") ) - ).as(:oneline), + ), b(str("traceoptions"), sc( b(str("file"), trace_file_type ), @@ -23552,11 +23557,11 @@ ) ) ) ) ) - ).as(:oneline), + ), a(str("tcp-mss"), arg), b(str("bfd-liveness-detection"), sc( a(str("version"), arg), a(str("minimum-interval"), arg), @@ -23847,11 +23852,11 @@ ) ) ) ) ) - ).as(:oneline), + ), a(str("tcp-mss"), arg), b(str("bfd-liveness-detection"), sc( a(str("version"), arg), a(str("minimum-interval"), arg), @@ -24151,11 +24156,11 @@ ) ) ) ) ) - ).as(:oneline), + ), a(str("tcp-mss"), arg), b(str("bfd-liveness-detection"), sc( a(str("version"), arg), a(str("minimum-interval"), arg), @@ -24736,25 +24741,25 @@ sc( a(str("delay"), arg), a(str("holddown"), arg), a(str("rapid-runs"), arg) ) - ).as(:oneline), + ), b(str("topologies"), sc( str("ipv4-multicast"), str("ipv6-unicast"), str("ipv6-multicast") ) - ).as(:oneline), + ), b(str("overload"), sc( a(str("timeout"), arg), str("advertise-high-metrics"), str("allow-route-leaking") ) - ).as(:oneline), + ), b(str("traffic-engineering"), sc( c( str("disable") ), @@ -24773,11 +24778,11 @@ sc( str("lsp-equal-cost") ) ) ) - ).as(:oneline), + ), b(str("graceful-restart"), sc( c( str("disable") ), @@ -24801,11 +24806,11 @@ str("wide-metrics-only"), a(str("preference"), arg), a(str("external-preference"), arg), a(str("prefix-export-limit"), arg) ) - ).as(:oneline), + ), b(a(str("interface"), arg), sc( c( str("disable") ), @@ -24890,11 +24895,11 @@ a(str("hello-interval"), arg), a(str("hold-time"), arg), a(str("priority"), arg), str("passive") ) - ).as(:oneline) + ) ) ), b(a(str("label-switched-path"), arg), sc( b(a(str("level"), arg), @@ -24902,22 +24907,22 @@ c( str("disable") ), a(str("metric"), arg) ) - ).as(:oneline) + ) ) ), b(a(str("context-identifier"), arg), sc( b(a(str("level"), arg), sc( c( str("disable") ) ) - ).as(:oneline) + ) ) ) ) end @@ -24959,11 +24964,11 @@ a(str("recovery-time"), arg), a(str("maximum-neighbor-recovery-time"), arg), a(str("reconnect-time"), arg), a(str("maximum-neighbor-reconnect-time"), arg) ) - ).as(:oneline), + ), a(str("preference"), arg), str("no-forwarding"), str("l2-smart-policy"), str("track-igp-metric"), str("strict-targeted-hellos"), @@ -25030,11 +25035,11 @@ ).as(:oneline), b(str("igp-synchronization"), sc( a(str("holddown-interval"), arg) ) - ).as(:oneline), + ), b(str("log-updown"), sc( b(str("trap"), sc( c( @@ -25293,10 +25298,58 @@ ) ) ) end + rule(:juniper_protocols_layer2_control) do + sc( + b(str("bpdu-block"), + sc( + a(str("disable-timeout"), arg), + a(str("interface"), any) + ) + ), + b(str("mac-rewrite"), + b(a(str("interface"), arg), + sc( + str("enable-all-ifl"), + b(str("protocol"), + sc( + str("cdp"), + str("stp"), + str("vtp"), + str("pvstp") + ) + ) + ) + ) + ), + str("nonstop-bridging"), + b(str("traceoptions"), + sc( + b(str("file"), + sc( + arg, + a(str("size"), arg), + a(str("files"), arg), + str("world-readable"), + str("no-world-readable"), + b(str("match"), + regular_expression + ) + ) + ).as(:oneline), + a(str("flag"), str("all") | str("kernel") | str("change-events") | str("kernel-detail") | str("config-states") | str("resource-usage") | str("gres-events") | str("select-events"), + sc( + str("disable") + ) + ).as(:oneline) + ) + ) + ) + end + rule(:juniper_protocols_mobile_ipv4) do sc( b(str("traceoptions"), mip_trace_options_type ), @@ -25586,14 +25639,14 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg) ) - ).as(:oneline), + ), b(str("spf-options"), sc( a(str("delay"), arg), a(str("holddown"), arg), a(str("rapid-runs"), arg), @@ -25604,28 +25657,28 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg), a(str("rib-group"), arg), b(str("overload"), sc( a(str("timeout"), arg) ) - ).as(:oneline), + ), b(str("database-protection"), sc( a(str("maximum-lsa"), arg), str("warning-only"), a(str("warning-threshold"), arg), a(str("ignore-count"), arg), a(str("ignore-time"), arg), a(str("reset-time"), arg) ) - ).as(:oneline), + ), b(str("graceful-restart"), sc( c( str("disable") ), @@ -25640,25 +25693,25 @@ ) ) ), str("no-strict-lsa-checking") ) - ).as(:oneline), + ), b(str("traffic-engineering"), sc( str("no-topology"), str("multicast-rpf-routes"), str("ignore-lsp-metrics"), b(str("shortcuts"), sc( str("lsp-metric-into-summary") ) - ).as(:oneline), + ), str("advertise-unnumbered-interfaces"), str("credibility-protocol-preference") ) - ).as(:oneline), + ), a(str("route-type-community"), arg), b(str("domain-id"), sc( c( a(str("domain-id"), arg), @@ -25687,11 +25740,11 @@ sc( b(str("local"), ipaddr ) ) - ).as(:oneline), + ), b(a(str("area"), arg), sc( c( b(str("stub"), sc( @@ -25706,11 +25759,11 @@ sc( a(str("default-metric"), arg), a(str("metric-type"), arg), str("type-7") ) - ).as(:oneline), + ), str("summaries"), str("no-summaries"), b(a(str("area-range"), arg), sc( str("restrict"), @@ -25718,23 +25771,23 @@ b(str("override-metric"), sc( a(str("metric"), arg), a(str("metric-type"), arg) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ), b(a(str("area-range"), arg), sc( str("restrict"), str("exact"), a(str("override-metric"), arg) ) - ).as(:oneline), + ), b(str("network-summary-export"), policy_algebra ), b(str("network-summary-import"), policy_algebra @@ -25782,11 +25835,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ) ), b(a(str("sham-link-remote"), arg), sc( @@ -25806,13 +25859,13 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) - ).as(:oneline), + ), b(a(str("interface"), arg), sc( c( str("disable") ), @@ -25875,11 +25928,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("bfd-liveness-detection"), sc( a(str("version"), arg), a(str("minimum-interval"), arg), a(str("minimum-receive-interval"), arg), @@ -25938,11 +25991,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ), b(a(str("peer-interface"), arg), sc( c( @@ -26172,11 +26225,11 @@ sc( b(a(str("address"), arg), sc( str("forward-msdp-sa") ) - ).as(:oneline) + ) ) ), b(str("local-address"), ipaddr ) @@ -26230,11 +26283,11 @@ str("mapping") ), str("mapping-agent-election"), str("no-mapping-agent-election") ) - ).as(:oneline), + ), b(str("static"), sc( b(a(str("address"), arg), sc( a(str("version"), arg), @@ -26753,11 +26806,11 @@ str("broadcast"), str("multicast"), str("ineligible"), a(str("priority"), arg) ) - ).as(:oneline) + ) ) end rule(:juniper_protocols_stp) do sc( @@ -26947,11 +27000,11 @@ ).as(:oneline), b(str("l2vpn-id"), sc( a(str("community"), arg) ) - ).as(:oneline), + ), b(str("provider-tunnel"), sc( c( b(str("rsvp-te"), sc( @@ -27240,11 +27293,11 @@ sc( a(str("community"), arg), a(str("import"), arg), a(str("export"), arg) ) - ).as(:oneline), + ), str("no-vrf-advertise"), b(str("vrf-advertise-selective"), sc( b(str("family"), sc( @@ -27319,14 +27372,14 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg) ) - ).as(:oneline), + ), b(str("spf-options"), sc( a(str("delay"), arg), a(str("holddown"), arg), a(str("rapid-runs"), arg), @@ -27337,28 +27390,28 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg), a(str("rib-group"), arg), b(str("overload"), sc( a(str("timeout"), arg) ) - ).as(:oneline), + ), b(str("database-protection"), sc( a(str("maximum-lsa"), arg), str("warning-only"), a(str("warning-threshold"), arg), a(str("ignore-count"), arg), a(str("ignore-time"), arg), a(str("reset-time"), arg) ) - ).as(:oneline), + ), b(str("graceful-restart"), sc( c( str("disable") ), @@ -27373,25 +27426,25 @@ ) ) ), str("no-strict-lsa-checking") ) - ).as(:oneline), + ), b(str("traffic-engineering"), sc( str("no-topology"), str("multicast-rpf-routes"), str("ignore-lsp-metrics"), b(str("shortcuts"), sc( str("lsp-metric-into-summary") ) - ).as(:oneline), + ), str("advertise-unnumbered-interfaces"), str("credibility-protocol-preference") ) - ).as(:oneline), + ), a(str("route-type-community"), arg), b(str("domain-id"), sc( c( a(str("domain-id"), arg), @@ -27420,11 +27473,11 @@ sc( b(str("local"), ipaddr ) ) - ).as(:oneline), + ), b(a(str("area"), arg), sc( c( b(str("stub"), sc( @@ -27439,11 +27492,11 @@ sc( a(str("default-metric"), arg), a(str("metric-type"), arg), str("type-7") ) - ).as(:oneline), + ), str("summaries"), str("no-summaries"), b(a(str("area-range"), arg), sc( str("restrict"), @@ -27451,23 +27504,23 @@ b(str("override-metric"), sc( a(str("metric"), arg), a(str("metric-type"), arg) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ), b(a(str("area-range"), arg), sc( str("restrict"), str("exact"), a(str("override-metric"), arg) ) - ).as(:oneline), + ), b(str("network-summary-export"), policy_algebra ), b(str("network-summary-import"), policy_algebra @@ -27515,11 +27568,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ) ), b(a(str("sham-link-remote"), arg), sc( @@ -27539,13 +27592,13 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) - ).as(:oneline), + ), b(a(str("interface"), arg), sc( c( str("disable") ), @@ -27608,11 +27661,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("bfd-liveness-detection"), sc( a(str("version"), arg), a(str("minimum-interval"), arg), a(str("minimum-receive-interval"), arg), @@ -27671,11 +27724,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ), b(a(str("peer-interface"), arg), sc( c( @@ -27735,14 +27788,14 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg) ) - ).as(:oneline), + ), b(str("spf-options"), sc( a(str("delay"), arg), a(str("holddown"), arg), a(str("rapid-runs"), arg), @@ -27753,28 +27806,28 @@ sc( str("disable"), str("no-install"), str("downstream-paths-only") ) - ).as(:oneline), + ), a(str("prefix-export-limit"), arg), a(str("rib-group"), arg), b(str("overload"), sc( a(str("timeout"), arg) ) - ).as(:oneline), + ), b(str("database-protection"), sc( a(str("maximum-lsa"), arg), str("warning-only"), a(str("warning-threshold"), arg), a(str("ignore-count"), arg), a(str("ignore-time"), arg), a(str("reset-time"), arg) ) - ).as(:oneline), + ), b(str("graceful-restart"), sc( c( str("disable") ), @@ -27789,25 +27842,25 @@ ) ) ), str("no-strict-lsa-checking") ) - ).as(:oneline), + ), b(str("traffic-engineering"), sc( str("no-topology"), str("multicast-rpf-routes"), str("ignore-lsp-metrics"), b(str("shortcuts"), sc( str("lsp-metric-into-summary") ) - ).as(:oneline), + ), str("advertise-unnumbered-interfaces"), str("credibility-protocol-preference") ) - ).as(:oneline), + ), a(str("route-type-community"), arg), b(str("domain-id"), sc( c( a(str("domain-id"), arg), @@ -27836,11 +27889,11 @@ sc( b(str("local"), ipaddr ) ) - ).as(:oneline), + ), b(a(str("area"), arg), sc( c( b(str("stub"), sc( @@ -27855,11 +27908,11 @@ sc( a(str("default-metric"), arg), a(str("metric-type"), arg), str("type-7") ) - ).as(:oneline), + ), str("summaries"), str("no-summaries"), b(a(str("area-range"), arg), sc( str("restrict"), @@ -27867,23 +27920,23 @@ b(str("override-metric"), sc( a(str("metric"), arg), a(str("metric-type"), arg) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ) - ).as(:oneline) + ) ), b(a(str("area-range"), arg), sc( str("restrict"), str("exact"), a(str("override-metric"), arg) ) - ).as(:oneline), + ), b(str("network-summary-export"), policy_algebra ), b(str("network-summary-import"), policy_algebra @@ -27931,11 +27984,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ) ), b(a(str("sham-link-remote"), arg), sc( @@ -27955,13 +28008,13 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) - ).as(:oneline), + ), b(a(str("interface"), arg), sc( c( str("disable") ), @@ -28024,11 +28077,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline), + ), b(str("bfd-liveness-detection"), sc( a(str("version"), arg), a(str("minimum-interval"), arg), a(str("minimum-receive-interval"), arg), @@ -28087,11 +28140,11 @@ ) ).as(:oneline) ) ) ) - ).as(:oneline) + ) ) ), b(a(str("peer-interface"), arg), sc( c( @@ -28261,11 +28314,11 @@ a(str("minimum"), arg), a(str("maximum"), arg) ) ).as(:oneline) ) - ).as(:oneline) + ) ), str("multi-homing"), a(str("site-preference"), arg), a(str("mtu"), arg), str("ignore-mtu-mismatch"), @@ -28318,11 +28371,11 @@ sc( a(str("incoming-label"), arg), a(str("outgoing-label"), arg) ) ), - str("associate-profile").as(:oneline), + str("associate-profile"), b(str("psn-tunnel-endpoint"), ipv4addr ), a(str("community"), arg), a(str("encapsulation-type"), arg), @@ -28347,25 +28400,25 @@ ) ), str("oam") ) ), - str("associate-profile").as(:oneline), + str("associate-profile"), b(a(str("mesh-group"), arg), sc( - str("associate-profile").as(:oneline), + str("associate-profile"), c( b(str("peer-as"), sc( str("all") ) ) ), a(str("vpls-id"), arg), str("vrf-import"), str("vrf-export"), - str("vrf-target").as(:oneline), + str("vrf-target"), str("mac-flush"), str("local-switching"), str("neighbor"), str("route-distinguisher").as(:oneline) ) @@ -28564,22 +28617,22 @@ b(a(str("srlg"), arg), sc( a(str("srlg-value"), arg), a(str("srlg-cost"), arg) ) - ).as(:oneline), + ), b(str("admin-groups-extended-range"), sc( a(str("minimum"), arg), a(str("maximum"), arg) ) ), b(a(str("admin-groups-extended"), arg), sc( a(str("group-value"), arg) ) - ).as(:oneline), + ), b(str("traceoptions"), sc( b(str("file"), trace_file_type ), @@ -28830,11 +28883,11 @@ ) ) ) ) ) - ).as(:oneline), + ), b(a(str("iso-route"), arg), sc( c( b(str("next-hop"), ipaddr_or_interface @@ -28953,11 +29006,11 @@ ) ) ) ) ) - ).as(:oneline) + ) ) ), b(str("martians"), martian_type ), @@ -28996,21 +29049,21 @@ str("equal-external-internal") ) ).as(:oneline), str("as-path-compare") ) - ).as(:oneline), + ), b(str("label"), sc( b(str("allocation"), policy_algebra ), b(str("substitution"), policy_algebra ) ) - ).as(:oneline), + ), b(str("access"), sc( b(a(str("route"), arg), sc( b(str("next-hop"), @@ -29021,11 +29074,11 @@ ), a(str("metric"), arg), a(str("preference"), arg), a(str("tag"), arg) ) - ).as(:oneline) + ) ) ), b(str("access-internal"), sc( b(a(str("route"), arg), @@ -29035,11 +29088,11 @@ ), b(str("qualified-next-hop"), qualified_nh_obj ) ) - ).as(:oneline) + ) ) ) ) ), b(str("static"), @@ -29229,11 +29282,11 @@ ) ) ) ) ) - ).as(:oneline), + ), b(a(str("iso-route"), arg), sc( c( b(str("next-hop"), ipaddr_or_interface @@ -29352,11 +29405,11 @@ ) ) ) ) ) - ).as(:oneline) + ) ) ), b(str("martians"), martian_type ), @@ -29395,21 +29448,21 @@ str("equal-external-internal") ) ).as(:oneline), str("as-path-compare") ) - ).as(:oneline), + ), b(str("label"), sc( b(str("allocation"), policy_algebra ), b(str("substitution"), policy_algebra ) ) - ).as(:oneline), + ), b(str("access"), sc( b(a(str("route"), arg), sc( b(str("next-hop"), @@ -29420,11 +29473,11 @@ ), a(str("metric"), arg), a(str("preference"), arg), a(str("tag"), arg) ) - ).as(:oneline) + ) ) ), b(str("access-internal"), sc( b(a(str("route"), arg), @@ -29434,11 +29487,11 @@ ), b(str("qualified-next-hop"), qualified_nh_obj ) ) - ).as(:oneline) + ) ) ), b(str("rib-groups"), rpd_rib_group_type ), @@ -29461,11 +29514,11 @@ ).as(:oneline) ) ).as(:oneline), b(str("confederation"), sc( - a(str("confederation-as"), arg), + arg, a(str("members"), arg) ) ).as(:oneline), b(str("forwarding-table"), forwarding_table_type @@ -29690,14 +29743,14 @@ ), b(a(str("route"), arg), sc( b(str("match"), flow_route_qualifier - ).as(:oneline), + ), b(str("then"), flow_route_op - ).as(:oneline) + ) ) ), a(str("term-order"), arg) ) ), @@ -29742,18 +29795,18 @@ ) ) ), b(str("destination-networks"), network_type - ).as(:oneline) + ) ) ), str("gre") ), b(str("destination-networks"), network_type - ).as(:oneline) + ) ) ) end rule(:export_af_obj) do @@ -29825,11 +29878,11 @@ a(str("rate-limit"), arg) ), a(str("routing-instance"), arg), str("sample"), str("next-term") - ).as(:oneline) + ) end rule(:flow_route_qualifier) do sc( b(str("destination"), @@ -29850,11 +29903,11 @@ ), b(str("dscp"), policy_algebra ), a(str("fragment"), arg) - ).as(:oneline) + ) end rule(:forwarding_table_type) do sc( b(str("export"), @@ -29905,11 +29958,70 @@ ) ), str("mpls") ) ), - str("instance").as(:oneline) + b(a(str("instance"), arg), + sc( + str("disable"), + b(str("input"), + sc( + a(str("rate"), arg), + a(str("run-length"), arg), + a(str("max-packets-per-second"), arg), + a(str("maximum-packet-length"), arg) + ) + ), + a(str("family"), str("mpls") | str("inet6") | str("inet") , + sc( + str("disable"), + b(str("output"), + sc( + a(str("aggregate-export-interval"), arg), + a(str("flow-active-timeout"), arg), + a(str("flow-inactive-timeout"), arg), + a(str("extension-service"), arg), + b(a(str("flow-server"), arg), + sc( + b(str("aggregation"), + sc( + str("autonomous-system"), + str("destination-prefix"), + str("protocol-port"), + b(str("source-destination-prefix"), + str("caida-compliant") + ), + str("source-prefix") + ) + ), + a(str("autonomous-system-type"), str("origin") | str("peer")), + (str("local-dump") | str("no-local-dump")), + a(str("port"), arg), + a(str("source-address"), ipaddr), + a(str("version"), arg), + b(str("version9"), + a(str("template"), arg) + ) + ) + ), + b(a(str("interface"), arg), + sc( + a(str("engine-id"), arg), + a(str("engine-type"), arg), + a(str("source-address"), ipaddr) + ) + ), + b(str("inline-jflow"), + a(str("source-address"), ipaddr), + a(str("flow-export-rate"), arg) + ) + ) + ) + ) + ) + ) + ) ) end rule(:juniper_services_captive_portal) do sc( @@ -30076,11 +30188,11 @@ ) ), a(str("authentication-order"), arg), b(str("location"), location_type - ).as(:oneline), + ), b(str("ports"), sc( b(str("console"), tty_port_object ), @@ -30171,11 +30283,11 @@ tacplus_server_object ) ) ) ) - ).as(:oneline) + ) ) ), str("allow-v4mapped-packets"), str("donot-disable-ip6op-ondad"), b(str("scripts"), @@ -30230,11 +30342,11 @@ b(str("sysid"), sysid ), a(str("alias"), arg) ) - ).as(:oneline), + ), b(str("services"), sc( b(str("finger"), sc( a(str("connection-limit"), arg), @@ -30441,11 +30553,11 @@ str("ssl3") ) ) ) ) - ).as(:oneline), + ), b(str("traceoptions"), sc( str("no-remote-trace"), b(str("file"), sc( @@ -30502,11 +30614,11 @@ sc( a(str("port"), arg), a(str("retry"), arg), a(str("timeout"), arg) ) - ).as(:oneline) + ) ) ) ) ), b(str("subscriber-management-helper"), @@ -30555,11 +30667,11 @@ a(str("idle-timeout"), arg), a(str("session-limit"), arg) ) ) ) - ).as(:oneline), + ), str("packet-triggered-subscribers"), b(str("static-subscribers"), jsscd_static_subscribers_type ), str("local-policy-decision-function"), @@ -30921,11 +31033,11 @@ sc( a(str("deployment-scope"), arg) ) ).as(:oneline) ) - ).as(:oneline), + ), b(str("resource-limits"), sc( b(a(str("process"), arg), sc( b(str("resources"), @@ -30976,11 +31088,11 @@ ) ) ) ) ) - ).as(:oneline), + ), b(str("fips"), sc( a(str("level"), arg), b(str("self-test"), sc( @@ -31055,21 +31167,21 @@ ), b(str("traceoptions"), pmond_traceoptions_type ) ) - ).as(:oneline), + ), b(str("resource-cleanup"), sc( c( str("disable") ), b(str("traceoptions"), res_cleanupd_traceoptions_type ) ) - ).as(:oneline), + ), b(str("routing-socket-proxy"), sc( c( str("disable") ), @@ -31144,11 +31256,11 @@ str("disable") ), str("traceoptions") ) ), - str("mac-validation").as(:oneline), + str("mac-validation"), b(str("sbc-configuration-process"), sc( c( str("disable") ), @@ -31165,21 +31277,21 @@ ), b(str("traceoptions"), ssd_traceoptions_type ) ) - ).as(:oneline), + ), b(str("datapath-trace-service"), sc( c( str("disable") ), b(str("traceoptions"), datapath_traced_traceoptions_type ) ) - ).as(:oneline), + ), b(str("send"), sc( c( str("disable") ) @@ -31793,11 +31905,11 @@ ), a(str("routing-instance"), arg), a(str("retry"), arg), a(str("timeout"), arg) ) - ).as(:oneline) + ) end rule(:ldp_sync_obj) do sc( c( @@ -31882,11 +31994,11 @@ sc( a(str("floor"), arg), a(str("rack"), arg) ) ) - ).as(:oneline) + ) end rule(:login_class_object) do b(arg.as(:arg), sc( @@ -31959,24 +32071,24 @@ sc( b(str("interface-name"), interface_unit ) ) - ).as(:oneline), + ), b(str("interface-shared-with"), sc( a(str("psd-name"), arg) ) - ).as(:oneline), + ), c( str("disable") ), str("passive-monitor-mode"), str("per-session-scheduler"), str("clear-dont-fragment-bit"), str("reassemble-packets"), - str("rpm").as(:oneline), + str("rpm"), a(str("description"), quote | arg), a(str("metadata"), arg), str("dial-options"), b(str("demux-source"), (str("inet") | str("inet6")) @@ -32037,14 +32149,14 @@ ) ) ), b(str("input-vlan-map"), vlan_map - ).as(:oneline), + ), b(str("output-vlan-map"), vlan_map - ).as(:oneline), + ), str("swap-by-poppush"), a(str("receive-lsp"), arg), a(str("transmit-lsp"), arg), a(str("dlci"), arg), a(str("multicast-dlci"), arg), @@ -32232,20 +32344,20 @@ sc( str("loose") ) ).as(:oneline) ) - ).as(:oneline), + ), a(str("mtu"), arg), str("no-redirects"), str("no-neighbor-learn"), str("unconditional-src-learn"), str("multicast-only"), str("primary"), a(str("ipsec-sa"), arg), - str("demux-source").as(:oneline), - str("demux-destination").as(:oneline), + str("demux-source"), + str("demux-destination"), b(str("filter"), sc( c( b(str("input"), sc( @@ -32297,11 +32409,11 @@ ), b(a(str("next-hop-tunnel"), arg), sc( a(str("ipsec-vpn"), arg) ) - ).as(:oneline), + ), b(a(str("address"), arg), sc( b(str("destination"), ipv4addr ), @@ -32341,11 +32453,11 @@ a(str("transmit-weight"), arg), b(str("epd-threshold"), epd_threshold_config ).as(:oneline) ) - ).as(:oneline), + ), b(a(str("arp"), arg), sc( b(str("l2-interface"), interface_name ), @@ -32364,11 +32476,11 @@ sc( str("http"), str("https"), str("redirect-to-https") ) - ).as(:oneline), + ), b(str("vrrp-group"), vrrp_group ) ) ), @@ -32426,11 +32538,11 @@ sc( str("loose") ) ).as(:oneline) ) - ).as(:oneline), + ), b(str("accounting"), sc( b(str("source-class-usage"), sc( str("input"), @@ -32520,15 +32632,15 @@ sc( str("http"), str("https"), str("redirect-to-https") ) - ).as(:oneline) + ) ) ), - str("demux-source").as(:oneline), - str("demux-destination").as(:oneline), + str("demux-source"), + str("demux-destination"), b(str("unnumbered-address"), sc( b(str("source"), interface_unit ), @@ -32759,11 +32871,11 @@ sc( a(str("to-vlan-id"), arg) ) ).as(:oneline) ) - ).as(:oneline), + ), c( a(str("isid-list"), arg) ) ) ), @@ -32837,11 +32949,11 @@ c( str("egress"), str("ingress"), str("transit") ) - ).as(:oneline) + ) end rule(:lsp_nh_obj) do b(arg.as(:arg), sc( @@ -32855,11 +32967,11 @@ sc( c( a(str("time"), arg), str("unlimited") ) - ).as(:oneline) + ) end rule(:mac_list) do b(arg.as(:arg), sc( @@ -32939,11 +33051,11 @@ str("cs6"), str("cs7"), str("be"), str("range") ) - ).as(:oneline) + ) end rule(:match_simple_port_value) do sc( c( @@ -33011,11 +33123,11 @@ str("ekshell"), str("rkinit"), str("cvspserver"), str("range") ) - ).as(:oneline) + ) end rule(:match_simple_protocol_value) do sc( c( @@ -33040,11 +33152,11 @@ str("no-next-header"), str("hop-by-hop"), str("vrrp"), str("range") ) - ).as(:oneline) + ) end rule(:metric_expression_type) do sc( b(str("metric"), @@ -33061,11 +33173,11 @@ float ), a(str("offset"), arg) ) ).as(:oneline) - ).as(:oneline) + ) end rule(:mib_variable_name_object) do arg.as(:arg).as(:oneline) end @@ -33186,11 +33298,11 @@ rule(:cflowd_monitoring_type) do b(arg.as(:arg), sc( a(str("port"), arg) ) - ).as(:oneline) + ) end rule(:monitor_export_intf_type) do b(arg.as(:arg), sc( @@ -33227,11 +33339,11 @@ c( str("note"), str("ignore") ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -33295,11 +33407,11 @@ str("accept"), str("discard"), a(str("next"), arg) ) ) - ).as(:oneline) + ) ) ) ) ) end @@ -33308,11 +33420,11 @@ sc( b(str("pop-all-labels"), sc( a(str("required-depth"), arg) ) - ).as(:oneline) + ) ) end rule(:multi_chassis_protection_group) do b(arg.as(:arg), @@ -33336,23 +33448,23 @@ ) ), a(str("subscriber-leave-timer"), arg), str("no-qos-adjust") ) - ).as(:oneline) + ) end rule(:named_address_book_type) do b((str("global") | arg).as(:arg), sc( a(str("description"), quote | arg), b(str("address"), address_type - ).as(:oneline), + ), b(str("address-set"), address_set_type - ).as(:oneline), + ), b(str("attach"), sc( a(str("zone"), arg) ) ) @@ -33365,11 +33477,11 @@ sc( a(str("description"), quote | arg), a(str("address"), arg), a(str("address-set"), arg) ) - ).as(:oneline) + ) end rule(:address_type) do b(arg.as(:arg), sc( @@ -33384,14 +33496,14 @@ b(str("wildcard-address"), wildcard_address_type ), b(str("range-address"), range_address_type - ).as(:oneline) + ) ) ) - ).as(:oneline) + ) end rule(:dns_name_type) do b(arg.as(:arg), sc( @@ -33404,11 +33516,11 @@ rule(:nameserver_object) do arg.as(:arg).as(:oneline) end rule(:network_type) do - arg.as(:arg).as(:oneline) + arg.as(:arg) end rule(:next_hop_group_intf_type) do b(arg.as(:arg), sc( @@ -33960,11 +34072,11 @@ ) ).as(:oneline), a(str("flag"), str("configuration") | str("pipe") | str("rpc-packet-details") | str("database") | str("network") | str("traceroute") | str("all")).as(:oneline) ) ) - ).as(:oneline) + ) end rule(:pim_bootstrap_options_type) do sc( a(str("priority"), arg), @@ -34364,11 +34476,11 @@ b(str("source-address"), ipaddr ), a(str("routing-instance"), arg) ) - ).as(:oneline) + ) end rule(:profile_setting) do b(arg.as(:arg), sc( @@ -34522,11 +34634,11 @@ sc( b(str("secret"), unreadable ) ) - ).as(:oneline) + ) end rule(:radius_server_object) do b(arg.as(:arg), sc( @@ -34540,11 +34652,11 @@ a(str("max-outstanding-requests"), arg), b(str("source-address"), ipaddr ) ) - ).as(:oneline) + ) end rule(:range_address_type) do b(arg.as(:arg), sc( @@ -34554,11 +34666,11 @@ ipv4addr ) ) ) ) - ).as(:oneline) + ) end rule(:reconfigure_trigger_type) do sc( str("radius-disconnect") @@ -34851,11 +34963,11 @@ c( str("active"), str("passive") ) ) - ).as(:oneline) + ) ) end rule(:rib_group_inet_type) do sc( @@ -34865,11 +34977,11 @@ rule(:rib_group_type) do sc( a(str("inet"), arg), a(str("inet6"), arg) - ).as(:oneline) + ) end rule(:rib_static_metric_type) do sc( arg, @@ -35136,11 +35248,11 @@ ) ), str("exclude"), str("all-day") ) - ).as(:oneline) + ) end rule(:scripts_type) do sc( b(str("commit"), @@ -35185,11 +35297,11 @@ sc( a(str("md5"), arg), a(str("sha1"), arg), a(str("sha-256"), arg) ) - ).as(:oneline) + ) ) ) end rule(:op_scripts_file_type) do @@ -35209,11 +35321,11 @@ sc( a(str("md5"), arg), a(str("sha1"), arg), a(str("sha-256"), arg) ) - ).as(:oneline) + ) ) ) end rule(:script_traceoptions) do @@ -35235,11 +35347,11 @@ rule(:securid_server_object) do b(arg.as(:arg), sc( a(str("configuration-file"), arg) ) - ).as(:oneline) + ) end rule(:security_group_vpn) do sc( b(str("member"), @@ -35458,11 +35570,11 @@ ipv4addr ), a(str("user-at-hostname"), arg) ) ) - ).as(:oneline) + ) ), b(str("local-identity"), sc( c( b(str("inet"), @@ -35650,11 +35762,11 @@ a(str("user-at-hostname"), arg) ), a(str("connections-limit"), arg), a(str("ike-user-type"), arg) ) - ).as(:oneline) + ) ), b(str("dead-peer-detection"), sc( c( str("optimized"), @@ -35662,11 +35774,11 @@ str("always-send") ), a(str("interval"), arg), a(str("threshold"), arg) ) - ).as(:oneline), + ), str("no-nat-traversal"), a(str("nat-keepalive"), arg), b(str("local-identity"), sc( c( @@ -36199,24 +36311,24 @@ rule(:address_book_type) do sc( b(str("address"), address_type - ).as(:oneline), + ), b(str("address-set"), address_set_type - ).as(:oneline) + ) ) end rule(:server_group_type) do sc( b(a(str("server-group"), arg), sc( - a(str("address"), arg).as(:oneline) + a(str("address"), arg) ) - ).as(:oneline) + ) ) end rule(:service_device_pool_object) do b(arg.as(:arg), @@ -36268,11 +36380,11 @@ str("stateful-firewall-logs"), str("alg-logs"), str("nat-logs"), str("ids-logs") ) - ).as(:oneline) + ) ) ), a(str("message-rate-limit"), arg) ) end @@ -37313,11 +37425,11 @@ a(str("link-subscription"), arg), a(str("ct0"), arg), a(str("ct1"), arg), a(str("ct2"), arg), a(str("ct3"), arg) - ).as(:oneline) + ) end rule(:syslog_object) do b((str("any") | str("authorization") | str("daemon") | str("ftp") | str("ntp") | str("security") | str("kernel") | str("user") | str("dfc") | str("external") | str("firewall") | str("pfe") | str("conflict-log") | str("change-log") | str("interactive-commands")).as(:arg), sc( @@ -37347,11 +37459,11 @@ str("single-connection"), b(str("source-address"), ipv4addr ) ) - ).as(:oneline) + ) end rule(:te_class_object) do sc( a(str("traffic-class"), arg), @@ -37425,11 +37537,11 @@ sc( b(str("then"), sc( str("discard") ) - ).as(:oneline) + ) ) ).as(:oneline) end rule(:trace_file_type) do @@ -37448,11 +37560,11 @@ a(str("port-type"), arg), str("disable"), str("insecure"), a(str("type"), arg), str("silent-with-modem") - ).as(:oneline) + ) end rule(:tunable_object) do b(arg.as(:arg), sc( @@ -37578,13 +37690,13 @@ rule(:v6_server_group_type) do sc( b(a(str("server-group"), arg), sc( - a(str("address"), arg).as(:oneline) + a(str("address"), arg) ) - ).as(:oneline) + ) ) end rule(:version9_template) do b(arg.as(:arg), @@ -37726,11 +37838,11 @@ ), a(str("tag-protocol-id"), arg), a(str("inner-tag-protocol-id"), arg), a(str("vlan-id"), arg), a(str("inner-vlan-id"), arg) - ).as(:oneline) + ) end rule(:vpls_filter) do b(arg.as(:arg), sc( @@ -37923,10 +38035,10 @@ ), a(str("port-mirror-instance"), arg), str("port-mirror"), a(str("next-hop-group"), arg) ) - ).as(:oneline) + ) ) ) ) ) end