New Reference Variables - Templates and Tests

The following new reference variables have been added to use in templates (as is implemented today), and also in tests.

  • Variable to get the value of a network data field

  • Variable to get the value of a device data field

  • Variable to get the value of a site data field

  • Utility Variable/Functions

  • Apply a mask to an IP address and return the network number - IPV4GETNET

  • Add a number to an IP address and return the IP address - IPV4ADD

  • Subtract a number from a IP address and return the IP address - IPV4SUB

  • Variable to get device credential related data

  • Ability to use nested reference variables - reference variable used as an arguments to other reference variables.

Example: IPV4GETNET and IPV4ADD can be nested to get the next Subnet

Note: Workaround for Global Variables - will be default values for the data fields.

Allow Usage of Reference Variables in Compliance Tests

  • The reference variables, in addition to its usage in Templates, could now be used in Compliance Tests (attributed and regex)

  • Pre-conditions

  • Check Patterns

  • RHS of the variable definition in Attributed Tests

  • Remedies

The UI provides the appropriate convenience to insert relevant reference variables in the above areas. The buffers in these areas would be preprocessed with the available context to resolve the reference variables. Users are warned of unresolved reference variables, as appropriate.

Template Merge

During template merge, reference variables may not be resolved, depending upon the data available in the context for resolution. Unresolved variables remain in the template, and can still be saved against a design device in a workspace.


Multi-valued variables - The user provides the ability to define a list of values for a single data field, which can then be used in templates to control iterations, based on these variable values.

For Example: VarIPs --> [ "", "", ""],  VarPorts --> ["8880" , "8881"]

provide the ability to describe a "repetition" in the template, based on multi-valued variables


#repeat (permit [<VarIPs>])should generate