YAML and JSON Output Modules¶
yaml and json output modules display transformed lab topology in YAML or JSON format. You can invoke them by specifying -o yaml
or -o json
parameter in netlab create command.
Both output modules can take an optional destination file name (default: stdout).
Multiple formatting modifiers (separated with colons) can be used to reduce the amount of information displayed from the transformed lab topology:
nodefault – Remove default settings (defaults key).
noaddr – Remove address pools (addressing key).
Any other formatting modifier is evaluated as a Python expression within the transformed lab topology context.
Examples:
To display this information… |
…use this command |
---|---|
whole transformed topology |
|
whole topology without the defaults |
|
whole topology without the defaults or addressing pools |
|
node data |
|
address pools |
|
Formatting modifier can select any subset of the lab topology, for example:
To display this information… |
…use this command |
---|---|
data for node |
|
interface data for node |
|
device data for device |
|
settings for D2 output module |
|
valid attributes for the BGP module |
|
Finally, the formatting modifier is evaluated as a Python expression, so you can display anything that can be expressed as a one-line expression (you will probably have to quote the whole yaml:expression
string):
To display this information… |
…use this command |
---|---|
second interface on node |
|
node names |
|
netlab create command stores the results into an output file when you specify format=output
or format:expr=output
value for the --output
parameter. For example:
To write this information into a file … |
… use this command |
---|---|
whole topology into |
|
node data into |
|
link data into |
|