yang-swagger v2.3.4
yang-swagger
YANG model-driven swagger/openapi transform
Installation
$ npm install -g yang-swaggerThe preferred installation is global for easy access to the
yang-swagger utility but can also be used as a dependency module to
help generate swagger/openapi specification as part of your project.
NOTE: Currently, Swagger/OpenAPI 2.0 Specification does NOT support JSON-schema
anyOfandoneOfdirectives, which means that we cannot properly treat YANGchoice/casestatements during conversion. As a work-around, the current transform will simply serialize all configuration nodes from thechoice/casesections into a flat list of properties.
Quick Start
$ yang-swagger -f yaml -o swagger.yaml yang-openapiThe above example will import the yang-openapi YANG module and
transform into swagger specification YAML file.
Usage: yang-swagger [options] modules...
Options:
-c, --config <filename> Use <filename> to retrieve configuration data (default: uses 'config' directory)
-f, --format <string> Convert to YAML or JSON (default: json)
-o, --output <filename> Write to <filename> if specified, otherwise to consoleUsing the --config option will allow you to specify where to find
the configuration data for the yang-openapi YANG module. By default,
it will check the config directory but you can specify any arbitrary
file location for specifying the yang-openapi:info configuration
data.
You can also use it as a library module:
swag = require("yang-swagger").eval {
'yang-openapi:info':
title: "my-api"
description: "describe purpose"
version: "1.0"
contact:
name: "your name"
url: "http://some/website"
email: "your email"
license:
name: "Apache-2.0"
}
swag.in('transform')
.invoke modules: [ 'yang-openapi' ]
.then (output) ->
console.log "do something with <output.spec>"For more information on programmatic usage, be sure to take a look at the References listed below.
References
License
This software is brought to you by Corenova Technologies. We'd love to hear your feedback. Please feel free to reach me at peter@corenova.com anytime with questions, suggestions, etc.
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago