R12.1-JA-2025June05

Runbook Node Parameter Settings

You can set the parameters of the following nodes of a runbook when defining an event template:

  • Run Qapp
  • Run Gapp
  • Ping
  • Traceroute
  • Execute CLI Commands
  • Retrieve Live Data
  • Verify Application
  • Data View Template
  • Run Qapp

    FunctionParameterDescription
    qapp_node.set_current_baseline()N/ARun a Qapp once with the Current Baseline.
    qapp_node.set_pull_live_data_once()N/ARun a Qapp once with live data.
    qapp_node.set_pull_live_data_regularly(duration,unit,is_repeat,times)
    • duration (int) — the time interview to run a Qapp. The valid value ranges from 1 to 60.
    • unit (int) — the time unit. The valid value is 1, 2 or 3.
    • 1 Hour
    • 2 Minute
    • 3 Second
    • is_repeat (bool) — whether to run a Qapp constantly.
    • times (int) — the times to run a Qapp. The valid value ranges from 1 to 1000.
    Run a Qapp regularly with live data.
    qapp_node.set_share_alert_users(["userId", "userName"]
    • userId (string) — the ID of an user in the system. If an user ID is not available, you can specify the username only in this function.
    • userName(string) — the username.

    Set the users that you want to share alerts with.

    ["userId":"49cf3c00-2eb2-42d4-ba7e-27d4d62508e7","userName":"admin"]

    qapp_node.set_email_settings([to],[level])
    • to (array) — the email accounts that the system sends alerts to.
    • level (array) — specify at which level the system send alert emails.
    • 1 Error
    • 2 Warning

    Set email receivers and the level to send an alert.

    qapp_node.set_threshold("[email protected]","1")

    qapp_node.set_threshold()
    • name (string) — the name of the variable you want to set threshold.
    • Value (string) — the threshold value.
    Set the threshold.
    qapp_node.set_variable_input()name (string) — the name of the input variable object.

    Set variable input.

    qapp_node.set_variable_input("Group","1")

    Run Gapp

    FunctionParameterDescription
    gapp_node.set_current_baseline()N/ARun a Gapp once with the Current Baseline.
    gapp_node.set_pull_live_data_once()N/ARun a Gapp once with live data.
    gapp_node.set_pull_live_data_regularly(duration,unit,is_repeat,times)
    • duration (int) — the time interview to run a Gapp. The valid value ranges from 1 to 60.
    • unit (int) — the time unit. The valid value is 1, 2 or 3.
    • 1 Hour
    • 2 Minute
    • 3 Second
    • is_repeat (bool) — whether to run a Gapp constantly.
    • times (int) — the times to run a Gapp. The valid value ranges from 1 to 1000.
    Run a Gapp regularly with live data.
    gapp_node.set_share_alert_users(["userId", "userName"]
    • userId (string) — the ID of a user in the system. If an user ID is not available, you can specify the username only in this function.
    • userName(string) — the username.

    Set the users that you want to share alerts with.

    ["userId":"49cf3c00-2eb2-42d4-ba7e-27d4d62508e7","userName":"admin"]

    gapp_node.set_email_settings([to],[level])
    • to (array) — a list email accounts that the system sends alerts to.
    • level (array) — specify at which levels the system send alert emails.
    • 1 Error
    • 2 Warning

    Set email receivers and the level to send an alert.

    gapp_node.set_email_settings([[email protected]],[2,1])

    gapp_node.set_threshold()
    • name (string) — the name of the variable you want to set threshold.
    • Value (string) — the threshold value.

    Set the threshold.

    gapp_node.set_threshold("Shared Qapps in Tenant/FlowCase_API/API_down2","bandwidth","0")

    gapp_node.set_variable_input()name (string) — the name of the input variable object.

    Set variable input.

    gapp_node.set_variable_input("Group","1")

    Ping

    FunctionParameterDescription
    ping_node.set_from_by_auto_font_serverN/AAutomatically select a front server as ping source.
    ping_node.set_from_by_device("device_name", "interface")
    • device (string) — the device name.
    • interface (string) — the interface name.
    Set the source of a ping.
    ping_node.set_to_by_device("device_name", "interface")
    • device (string) — the device name.
    • interface (string) — the interface name.
    Set the destination of a ping.
    ping_node.set_to_by_ip_address("ip_address")
    • ip_address (string) — the IP address.
    Set a specific IP address as the destination of a ping.
    ping_node.set_option(timeout, package_size, package_count, no_fragment_flag)
    • timeout (int) — the maximum time of ping packets to wait for a response.
    • package_size (int) — the size of ping packets to be processed before the results and averages are calculated.
    • package_count (int) — the number of ping packets to be processed before the results and averages are calculated.
    • no_fragment_flag (bool) — specify whether to include the fragment flag when sending packets.
    Define the advanced settings of a ping.

    Traceroute

    FunctionParameterDescription
    trace_node.set_from_by_auto_font_serverN/ARun a Gapp once with the Current Baseline.
    trace_node.set_from_by_device("device_name", "interface")
    • device (string) — the device name.
    • interface (string) — the interface name.
    Set the source of a traceroute.
    trace_node.set_to_by_device("device_name", "interface")
    • device (string) — the device name.
    • interface (string) — the interface name.
    Set the destination of a traceroute.
    trace_node.set_to_by_ip_address("ip_address")
    • ip_address (string) — the IP address.
    Set a specific IP address as the destination of a traceroute.
    trace_node.set_option(timeout, max_hops)
    • timeout (int) — the maximum time to wait for a response.
    • max_hops (int) — the maximum number of hops to reach the destination device.
    Define the advanced settings of a traceroute.

    Execute CLI Commands

    FunctionParameterDescription
    cli_command_node.set_cli_commands([ ])
    • command (array) — a list of CLI commands

    Define the CLI commands to retrieve data.

    cli_command_node.set_cli_commands(['show version','show interface'])

    Retrieve Live Data

    FunctionParameterDescription
    retrieve_node.set_retrieve_commands([ ])
    • command (array) — a list of CLI commands

    Define the CLI commands to retrieve data.

    retrieve_node.set_retrieve_commands(['show version','show interface'])

    retrieve_node.set_retrieve_datas()
    • config (bool) — whether to retrieve device configurations.
    • route_table (bool) — whether to retrieve route tables.
    • ARP_table (bool) — whether to retrieve ARP tables.
    • MAC_table (bool) — whether to retrieve MAC tables.
    • NDP_table (bool) — whether to retrieve NDP tables.
    • STP_table (bool) — whether to retrieve STP tables.
    • device_info (bool) — whether to retrieve device information.
    • intf_info (bool) — whether to retrieve interface information.
    • BGP_table (bool) — whether to retrieve BGP tables.

    Set the data to retrieve.

    config=True, route_table=True, ARP_table=True, MAC_table=True, NDP_table=True, STP_table=True, device_info=True, intf_info=True, BGP_table=True)

    retrieve_node.set_retrieve_nct_table([])
    • nct_table (array) — NCT tables to retrieve.

    Set the NCT tables to retrieve.

    retrieve_node.set_retrieve_nct_table(['Contract Table','EPG Contract Table'])

    retrieve_node.set_update_to_baseline()
    • True — update the retrieved data to the current baseline.
    • False — do not update the retrieved data to the current baseline.

    Define whether to update the retrieved data to the current baseline.

    retrieve_node.set_update_to_baseline(False)

    Verify Application

    FunctionParameterDescription
    aam_node.set_current_baseline()N/ARun the node with the Current Baseline.
    aam_node.set_live_network()N/ARun the node with the live data.
    aam_node.set_live_use_baseline_config()
    • True — use the configurations in the current baseline when running the node with the live data.
    • False — do not use the configurations in the current baseline when running the node with the live data.

    Define whether to use the configuration data in the current baseline when running the node with the live data.

    aam_node.set_live_use_baseline_config(False)

    aam_node.set_option
    • calc_l3_active_path (bool) — whether to calculate the Layer 3 path by using live data
    • calc_when_denied_by_acl (bool)— Whether to enable ACL checK before calculating a path. If enabled, the system ignores the ACL check at a path calculation.
    • calc_when_denied_by_policy (bool) — Whether to enable policy check before calculating a path. If enabled, the system ignores the policy check at a path calculation.
    • enable_path_fixup (bool) — Whether to enable path gateway fix-up during a path calculation

    Define the settings of path calculation.

    aam_node.set_option(calc_l3_active_path=False, use_commands_with_args=False, calc_when_denied_by_acl=False, calc_when_denied_by_policy=False, enable_path_fixup=True)

    aam_node.set_share_alert_users([])
    • userId (string) — the ID of an user in the system. If an user ID is not available, you can specify the username only in this function.
    • userName(string) — the username.

    Set the users that you want to share alerts with.

    aam_node.set_share_alert_users(["userId":"49cf3c00-2eb2-42d4-ba7e-27d4d62508e7","userName":"admin"])

    aam_node.set_email_settings([], [])
    • to (array) — a list email accounts that the system sends alerts to.
    • level (array) — specify at which levels the system send alert emails.
    • 1 Error
    • 2 Warning

    Set email receivers and the level to send an alert.

    aam_node.set_email_settings([[email protected]],[2,1])

    Data View Template

    FunctionParameterDescription
    dvt_node.set_current_baseline()N/ARun a data view template once with the Current Baseline.
    dvt_node.set_pull_live_data_once()N/ARun a data view template once with live data.
    dvt_node.set_pull_live_data_regularly(duration, unit, is_repeat=, times)
    • duration (int) — the interval to run a Qapp. the valid value ranges from 1 to 60.
    • unit (int) — the time unit. The valid value is 1, 2 or 3.
    • 1 Hour
    • 2 Minute
    • 3 Second
    • is_repeat (bool) — whether to run a Qapp constantly.
    • times (int) — the times to run a Qapp. The valid value ranges from 1 to 1000.

    Run a data view template regularly with live data.

    dvt_node.set_pull_live_data_regularly(duration=4, unit=2, is_repeat=True, times=10)

    dvt_node.set_template_variables([])
    • variable (string) — the variable name.
    • value (string) — the variable value.

    Define the values for data view template variables.

    dvt_node.set_template_variables([{"alias":"manual_input_tem","value":1}])

    dvt_node.set_device_variables()
    • deviceName (string) — the device name.
    • alias (string) — the alias name of a variable.
    • value (string) — the value of a variable.

    Define the values for device-level variables.

    [{
    "deviceName": "BJ-R3",
     "values": [{
      "alias": "gdr_input",
      "value": ""
     }, {
      "alias": "manual_input_device",
      "value": "10"
     }]
    }]