Socket
Book a DemoInstallSign in
Socket

junoser

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

junoser

0.7.2
bundlerRubygems
Version published
Maintainers
1
Created
Source

Junoser

Test on Ubuntu Code Climate Inline docs

Junoser is a JUNOS configuration PEG parser which can be automatically generated from Juniper's netconf.xsd. (XML Schema Definition for NETCONF)

Features

  • Configuration Validation

    • Structured "show configuration" format
    • One-liner "| display set" format
  • Configuration Translation

    • Inter-translation between structured form and display-set form

NOTE

Inter-translation from display-set form into structured form is experimental feature in this release.

Getting Started

$ gem install junoser

Usage

Syntax validation

$ junoser -c config.txt

# or

$ cat config.txt | junoser -c

Syntax translation

Structured form into "display set"
$ junoser -d config.txt
set protocols bgp group ebgp-peers neighbor 192.0.2.2

# or

$ cat config.txt | junoser -d
set protocols bgp group ebgp-peers neighbor 192.0.2.2
"display set" into structured form
$ junoser -s config.txt

# or

$ cat config.txt | junoser -s

Updating parser for new directives

From Juniper website, you can download the XSD schema for the version of JunOS you want to target:

  • Junos XML API
  • Select your version
  • Application Tools
  • XML Schema for Configurator Data

Alternatively, you can retrieve the schema with Netconf:

$ ssh -Csp 830 JUNOS netconf < example/get-schema.xml | sed -n '/^<xsd:schema/,/^<\/xsd:schema/p' > junos-XXX.xsd

Put it in tmp/, update xsd_path in Rakefile and run:

$ bundle exec rake build:config build:rule

Alternatively, you may look in example/ for some prebuilt rules file. If you want to use them, copy one to tmp/rules.rb and run:

$ bundle exec rake build:rule

Contributing

Please report issues or enhancement requests to GitHub issues. For questions or feedbacks write to my twitter @codeout.

Or send a pull request to fix.

Copyright (c) 2015-2025 Shintaro Kojima. Code released under the MIT license.

FAQs

Package last updated on 22 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.