Variables Overview

Riverbed IQ Ops enables you to use variables in runbooksClosed An automated workflow that executes a series of steps or tasks in response to a triggered event, such as the detection of anomalous behavior generating an incident, a lifecycle event, or a manually executed runbook. so that runbook data can be stored and exchanged with other applicationsClosed An entity type representing software applications deployed in the customer environment that are monitored for performance and anomalies.. For example, you can use variables to do things like pass in information from a Slack message, or pass out data to an ITSM tool like ServiceNow. Riverbed IQ Ops furnishes a number of built-in variables, and you can define custom variables, as well. Variables (built-in and custom) are accessed via the x button in the Runbook Editor's tool bar. Define variables in the Variable Definition Editor, and set their values in the Set Primitive Variable and Set Structured Variable nodesClosed Individual components that make up a runbook automation, each performing a specific function such as data queries, transformations, logic, integrations, or visualizations..

Primitive and Structured Variables

A primitive (simple) variable represents a single discrete value. Set the values of primitive variables in the Set Primitive Variable node using a Liquid template. You can set the values of multiple primitive variables in a single Set Primitive Variable template.

A structured (complex) variable represents outputClosed A document containing data sets generated by the execution of a runbook, including output of queries and reports from point products, as well as output of analysis or other runbook nodes. that is summarized or aggregated from preceding nodes in the Runbook, representing complex summarized data or complex time series data. Set the values of structured variables in the Set Structured Variable node. Structured variables can be used as filters in Data Ocean nodes; the structured variable type (e.g., "ApplicationClosed An entity type representing software applications deployed in the customer environment that are monitored for performance and anomalies.") defines what is available in the variable, and, consequently, where it can be used for filtering (e.g. Application filter).

Syntax

Variables are named with syntax like, "runtime.interval_start" and "runtime.input.Device.<property>", where "runtime" indicates the variable's scope, and "<property>" stands for a Device property used in the Runbook. You could define a custom variable named, "runtime.MyCustomVariable".

Assign a value to a variable using the appropriate Variable node, Set Primitive Variable or Set Structured Variable. The node properties provide a field for assigning a value using a Liquid template. Some examples follow:

For a runtime scope variable of type integer named "myInt":

{

"runtime.myInt": "1948"

}

To assign that variable, "myInt" to the value of another variable ("anotherInt") multiplied by two:

{

"runtime.myInt": "{{ variables["runtime.anotherInt"]| times 2}}"

}

To assign that variable, "myInt" to the input to the node:

{

"runtime.myInt": "{{node_input.output.data[0].data.throughput }}"

}