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   | 
  |