Flash Probe

Network Intent

Triggered Automation

Data View Template

Golden Baseline

Schedule CLI Tasks

Scheduled Task

Runbook Template

Guidebook

Flash Probe

Action

YAML Sample

Properties

Action 

Create

omultiple flash probes for device

osupport compound variable

osupport reference variable of the feature as parser parameter

osupport reference GB dynamic rule

Trigger

otrigger flash probe of the same device

YAML Sample 

flash_probes: # Definition for generating Flash Probe.

 - name: BGP_Flapping#{ $ip1 }

   display_name: BGP_Flapping#{ $ip1 } # display name, optional

   description: xxxx

   target_type: Interface # Device or Interface

   target_interface: $intfName # target interface name, valid for target_type=Interface, null means all interfaces

   qulification: | # qulification to filter the Device/Interface

     $device.subTypeName=="Cisco Router" && $intf.name!="e0" && $intf.xxx=="xx"

   conflict_mode: Skip # support values: Override and Skip, the default value is Skip

   type: Primary # Primary or Secondary or External

   trigger_type: AlertBased # AlertBased or TimerBased, AlertBased is the default value, valid for type=Primary

   alert_source: ServiceNow # valid for type=External, such as ServiceNow...

   frequency_multiple: 16 # multiple of the period of the base frequency valid for target_type=Device&&type=Primary&&trigger_type=TimerBased

   variable_defines: # the variables that may be used in rule or alert_message, valid for type=Primary|Secondary&&trigger_type=AlertBased

     - parser: "Built-in Files/CLI Command/Cisco IOS/Ping [Cisco IOS]"

       parameters:

         vrf: $xx

         ip: $ip1

       variables: # the variables that want to use in rule or alert_message

         - name: status # variable full name

           alias: status # alias that is actually used when referenced in Rule and alert_Message, same as 'name' if alias have no value

           monitor: # It indicates this variable needs to be monitored

             display_name: xxx_status # display name which show up on the map data view.

             unit: xxx_status # unit which show up on the map data view.

     - parser: "Built-in Files/CLI Command/Cisco IOS/Interface xxx"

       variables:

         - name: intf.status

           alias: intfStatus

     - compound_variable: xxx1

       expression: $status

     - compound_variable: xxx2

       expression: $status+3

   rule: # valid for type=Primary|Secondary&&trigger_type=AlertBased

     loop_table_rows: false

     conditions:

       - operand1: $status

         operator: NotEqual # 1. UseGB, 2...

         operand2: "Success"

       - operand1: $status

         operator: NotEqual

         operand2: $status[last]

     boolean_expression: A or B

   alert_message: have bgp flapping alert $status # alert meessage, support variables, valid for type=Primary|Secondary&&trigger_type=AlertBased

   triggered_by: # flash probe list that triggered by, valid for type=Secondary&&trigger_type=AlertBased

     - name: FlashProbe1 # flash probe name, device level, same device&interface

       target_type: Device # Device or SameLevel, SameLevel is the default value

   enable: true # whether to enable

   send_email: # send email when alert occurs.

     enable: true

     emails:

       - [email protected]

       - [email protected]; [email protected]

     trigger_event_template: New Template # optional, name of event template that will trigger when send email

   enable: true # whether to enable, the default is true

Properties

Property Name

Type

Required

Definition

name

string

Y

Flash name

display_name

string

N

It shows in IE Probe Flash UI. The default is the same with the name parameter.

description

string

N

The flash probe description

target_type

enum

N

There are 2 target types:

Device(default)

Interface

target_interface

string

N

If the target type is Interface, this parameter is available. It also references the feature variable as the value, such as $IntfName.

qualification

string

N

The qualification of the flash probe. It can use the GDR variable or feature variable as a condition, such as :$device.subTypeName=="Cisco Router" && $intf.name!="e0" && $intf.xxx=="xx"

It supports device GDR attribute and physical interface GDR attribute.

See Qualification Properties and Condition

conflict_mode

string

N

Override or Skip(default)

type

string

N

Primary(default), Secondary and External are supported.

trigger_type

string

N

This parameter is valid if the type parameter is Primary. It supports AlertBased (default)and TimerBased.

alert_source

string

N

This parameter is valid if the type parameter is External, such as 'ServiceNow'.

frequency_multiple

int

Y

Multiple of the period of the base frequency.

It is valid for target_type=Device&&type=Primary&&trigger_type=TimerBased

variables_defines

object

N

It may be used in rule or alert_message. It is valid for type=Primary|Secondary&&trigger_type=AlertBased.

variables_defines.parser

list

N

Parser path

variable_defines.parameters.{var1}

string

N

The parser parameter variable,and {var1} is the variable name.

variable_defines.variables

object

N

The variables to be used in rule or alert_message

variable_defines.variables.name

string

N

The variable of the parser full name

variable_defines.variables.alias

string

N

The alias actually used when referenced in rule and alert_Message, same as 'name' if alias has no value.

variable_defines.varaibles.monitor

object

N

It indicates that this variable needs to be monitored.

variable_defines.varaibles.monitor.display_name

string

N

Display the name which shows up on the map data view.

variable_defines.varaibles.monitor.unit

string

N

As a variable unit and shows up on the map data view.

variable_defines.compound_variable

object

N

The compound variable name, and defining multiple compound variables is supported.

variable_defines.compound_variable.expression

string

N

Define the compound variable expression such as $var > 0 and $var2 !=None.

rule

object

N

Define rule for the flash probe . It is valid for type=Primary|Secondary&&trigger_type=AlertBased

rule.loop_table_rows

bool

N

The default is true.

It will be set as true if the variable is the table.

rule.conditions

object

N

The rule condition

rule.conditions.operand1

string

N


rule.conditions.operator

object

N

The rule condition operator expression, such as Equal, Not Equal.

It supports dynamic GB rule as well.

rule.conditions.operand2

string

N


rule.conditions.boolean_expression

string

N

The rule bool expression

alert_message

string

N

The alert message, which supports variable input such as $status.

It is valid for type=Primary|Secondary&&trigger_type=AlertBased.

triggered_by

object

N

The triggered flash probe list  

It is valid for type=Secondary&&trigger_type=AlertBased.

triggered_by.name

string

N

The triggered flash probe name

triggered_by.target_type

string

N

Device#Device or SameLevel(default)

enable

bool

N

Whether to enable the flash probe being created or not

The default is true.

send_mail

object

N

Setting email content for flash probe.

send_mail.enable

bool

N

The default is true when there is the send_email tag and at least one valid email address is filled in.

emails

list

N

The email address list

trigger_event_template

string

N

The name of the event template to be triggered when sending an email .

Network Intent

Action

YAML Sample for Template

YAML Sample for Diagnoses

Properties

Action 

Create

ocreate a NI by feature decode

ocreate a default NI if the "create_default_NI" tag is true

Trigger

oTriggered Automation

YAML Sample for Template

network_intents: # Definition for generating NI.

 ref_label: ospf

 path: All Network Intents/General_BGP_{$crossRelationHash} # the path to generate NI, here can use variables of FIG level

 conflict_mode: Skip # support values: Override and Skip, the default is Skip

 lock_after_created: true # the default is false

 create_default_NI: true # Whether to create Default NI for the FIG, the default is false.

 baseline_update_type: LatestFromDE # support values: LatestFromDE(Relative to the time of running FID), LiveFromNextRun, the default is LatestFromDE.

 ni_template: "./NI_template1.ni" # Relative path of the NI Template file, NI will be generated from the NITemplate when create_default_NI=false.

 ni_inputs:

   devices:

     R1:

       # repeat: false # Whether to generate the Device in NI for all Device of FIG replication that meets the criteria, the default is false.

       device_condition: order('$bgp')==1 # FIG Device to NI Device Mapping condition.

       # If repeat=true and there are multiple devices that meet this condition, the NI Device will be copied to generate.

       parameters:

         intf: $intfName1

         ip: $ip1

         # here can use variables and functions of device level

         # line pattern va riables and GDR variables are available here

         # line pattern variable write like this: $bgp, without a prefix.

         # GDR variable write like this, $device.subType, with prefix $device.

     R2:

       device_condition: order('$bgp')==2

       parameters:

         intf: $intfName1

         ip: $ip1

YAML Sample for Diagnoses

common_role_variables:

   - name: roleVarible1

     from_role: role1 # role which the variable come from

     device_condition: true # optional, take the first device in the role that meets the condition

     variable: "Conmand2.var3"

 analysis_devices:

   - device_role: role1

     device_condition: expression($fi.xxx)=="yyyy1"

     local_role_variables:

       - name: roleVarible2

         from_role: Role2 # role which the variable come from

         variable: "Conmand2.var3"

         device_condition: $device.xxx == $ni.role2.current.device.xxx

     commands:

       - type: Command # Command or Config

         id: Conmand1 # samle: cmd1, config1

         command: show interface { $fi.intfName1 } # only for type=Command

         description: xxxxx

         parser: "./VisualParser.xpar"

         compound_variables:

           - name: var1 # Must be unique in the all compound variables in this NI

             value_type: string # string or number

             expression: $Config1.version+"_"+$ni.roleVarible1 + $ni.roleVarible2.GetLength() # only support the single variables from current device

         merged_tables: # table cannot be used across devices

           - name: vlan_table3

             table1:

               table: Command1.Paragraph1 # table cannot be used across devices

               paired_keys: [intf, key2] # suport multi key fields, the order of the fields must match with right join_keys

             table2:

               table: Command2.Table2

               paired_keys: [ip, key2]

             table_keys: [Command1.Paragraph1.intf, Command2.Table2.column2]

             # columns: # not supported in v10.0a and will be supported in the next version

             #   - name: intf11

             #     orig_col_name: Command1.Paragraph1.intf # the column full name from table1 or table2

             #     is_table_key: true

         diagnoses:

           - anchor: Paragraph1.intf_name # optional, only support the variables from current config/command

             note: xxxxxxxx # donot support variable

           - anchor: Paragraph1.ip

             name: Check IP

             description: check the ip accuracy

             if:

               rule:

                 loop_table_rows: true # the default is false

                 conditions:

                   - operand1: Command1.Paragraph1.ip[Current] # [] support values: Current,Last,Baseline, the default is Current

                     operator: Does Not Equal #  Equals, Contains....

                     operand2_type: ConstFromFITExp # support types: Auto, Const, Var, ConstFromFITExp, the default is Auto, Auto will be automatically recognized

                     operand2: "abc"+$fi.var1 # support to use FI or GDR variables if operand2_type=ConstFromFITExp

                   - operand1: Command1.Paragraph2.mask

                     operator: Does Not Equal

                     operand2: ni.roleVarible1[Current]

                 boolean_expression: not (A or B)

               then:

                 note:

                   color: red # supports red, green and other color values, the default is red

                   text: Diagnosis Alert $Command1.Paragraph2.mask,$ni.roleVarible1

                 status_code_for_this_device:

                   enable: true # the default is false

                   type: Alert # Success or Alert, the default is Alert

                 status_code_for_ni:

                   enable: true # the default is false

                   type: Alert # Success or Alert, the default is Alert

                   note: Diagnosis Alert $Paragraph1.ip

               else: # optional

                 note:

                   color: green # supports red, green and other color values, the default is green

                   text: Diagnosis Success

                 status_code_for_this_device:

                   enable: true

                   type: Success # Success or Alert, the default is Success

                 status_code_for_ni:

                   enable: true

                   type: Success # Success or Alert, the default is Success

                   note: Diagnosis Success

   - device_role: role2

Properties

Property Name

Type

Required

Definition

path

string

Y

The path to generate the Network Intent.

Only use the crossRelationHash variable here.

ref_label

string

N

Define a label that can be referenced by other assets.

conflict_mode

string

N

Skip(default) or Override

Verify if the asset being created have already existed.

create_default_NI

bool

N

Whether to create the Default Network Intent for the FIG.

The default value is false.

The parameter is valid if the the Network Intent template does not exist or None

lock_after_created

bool

N

Lock the created Network Intent.

The default value is false.

baseline_update_type

string

N

LatestFromDE(compared to the time of running FIT) or LiveFromNextRun,

The default value is LatestFromDE.

ni_template

string

N

The relative path of the Network Intent Template file.

ni_inputs

object

N

Devices included in the Network Intent.

ni_inputs.devices.R1

string

N

Satisfy R1 condition.

ni_inputs.devices.R1.device_condition

string

N

FIG Device to NI Device Mapping condition.

ni_inputs.devices.R1.parameter

string

N


common_role_variables

object

N

Define one or more common variable(s).

common_role_variables.name

string

N

A Common role variable name

common_role_variables.from_role

string

N

The role name from which the variable comes

common_role_variables.device_condition

string

N

The common role variable condition

common_role_variables.variable

string

N

The variable from which the command comes  

analysis_devices

obejct

Y


analysis_devices.device_role

string

Y

Define the device role name.

analysis_devices.device_condition

string

Y

Define the condition for device analysis.

analysis_devices.local_role_variables

object

N


analysis_devices.local_role_variables.name

string

N

The local variable name

analysis_devices.local_role_variables.from_role

string

N

The role name from which the local common variable comes

analysis_devices.local_role_variables.variable

string

N


analysis_devices.local_role_variables.device_condition

string

N


analysis_devices.commands

object

N


analysis_devices.commands.type

string

Y

There are two types:

Command

Config

analysis_devices.commands.id

string

Y

The command id.
Including it as a prefix to invoke the current command variable, such as command1.cpu

analysis_devices.commands.description

string

N


analysis_devices.commands.parser

string

N

Reference the path of the parser.

analysis_devices.commands.compound_variables

object

N

Define the compound variable for this NI.

analysis_devices.commands.compound_variables.name

string

N

The compound variable name

analysis_devices.commands.compound_variables.value_type

string

N

Two types:

String

Number

analysis_devices.commands.compound_variables.expression

string

N


analysis_devices.commands.merged_tables

object

N

Define the merged table for this NI.

analysis_devices.commands.merged_tables.name

string

N


analysis_devices.commands.merged_tables.table1

object

N


analysis_devices.commands.merged_tables.table1.table

string

N


analysis_devices.commands.merged_tables.table1.paired_keys

list

N


analysis_devices.commands.merged_tables.table2

object

N


analysis_devices.commands.merged_tables.table2.table

string

N


analysis_devices.commands.merged_tables.table2.paired_keys

list

N


analysis_devices.commands.merged_tables.table2.table_keys

list

N


analysis_devices.commands.diagnoses

object

Y

Define the diagnoses for this NI

analysis_devices.commands.diagnoses.anchor

string

Y

Define the anchor for this diagnoses.

The anchor is optional.

analysis_devices.commands.diagnoses.note

string

Y

Must define either note or name.

analysis_devices.commands.diagnoses.name

string

Y

Must define either note or name.

analysis_devices.commands.diagnoses.description

string

N


analysis_devices.commands.diagnoses.if

string

Y

The definition of the diagnoses starts here.

analysis_devices.commands.diagnoses.if.rule

string

Y


analysis_devices.commands.diagnoses.if.rule.loop_table_rows

string

N

The default is false.

analysis_devices.commands.diagnoses.if.rule.conditions

string

Y


analysis_devices.commands.diagnoses.if.rule.conditions.operand1

string

Y


analysis_devices.commands.diagnoses.if.rule.conditions.operator

string

Y


analysis_devices.commands.diagnoses.if.rule.conditions.operand2_type


N

The supported types:

Auto(default, and will be automatically recognized)

Const

Var

ConstFromFITExp

analysis_devices.commands.diagnoses.if.rule.conditions.operand2

string

N


analysis_devices.commands.diagnoses.if.rule.boolean_expression

string

Y


analysis_devices.commands.diagnoses.if.then

object

Y


analysis_devices.commands.diagnoses.if.then.note

string

Y


analysis_devices.commands.diagnoses.if.then.note.color

string

Y

Colors supported:

red,green or other colors(using RGB value)

analysis_devices.commands.diagnoses.if.then.note.text

string

Y


analysis_devices.commands.diagnoses.if.then.status_code_for_this_device

object

N


analysis_devices.commands.diagnoses.if.then.status_code_for_this_device.enable

bool

N

true 

false(default)

analysis_devices.commands.diagnoses.if.then.status_code_for_this_device.type

enum

N

Alert(default) or Success

analysis_devices.commands.diagnoses.if.then.status_code_for_ni.enable

bool

N

true 

false(default)

analysis_devices.commands.diagnoses.if.then.status_code_for_ni.type

enum

N

Alert(default) or Success

analysis_devices.commands.diagnoses.if.then.status_code_for_ni.note

string

N


analysis_devices.commands.diagnoses.if.else

object

N


analysis_devices.commands.diagnoses.if.else.note

string

N


analysis_devices.commands.diagnoses.if.else.note.color

string

N

Colors supported:

red,green or other colors(using RGB value)

analysis_devices.commands.diagnoses.if.else.note.text

string

N


analysis_devices.commands.diagnoses.if.else.status_code_for_this_device

object

N


analysis_devices.commands.diagnoses.if.else.status_code_for_this_device.enable

bool


true 

false

analysis_devices.commands.diagnoses.if.else.status_code_for_this_device.type

enum

N

Alert or Success(default)

analysis_devices.commands.diagnoses.if.else.status_code_for_ni.enable

bool

N

true 

false

analysis_devices.commands.diagnoses.if.else.status_code_for_ni.type

enum

N

Alert or Success(default)

Triggered Automation

Action

YAML Sample

Properties

Action 

Install Triggered Automation

oCreate trigger automation asset:

The Network Intent

The Flash Probe

YAML Sample

triggered_automations:

 - description: xxxx

   automations:

     network_intents:

       - Public NIs/BGP/General HSRP

     auto_append_created_ni: true # Whether to automatically add the created NI by this FIT

     auto_append_created_ni_with_ref_labels: [ospf, xxxxx]

     external_assets:

       - from_fit: fit1/FIT_Root # The FIT to which the asset to be referenced belongs.

         auto_append_created_ni: false # Whether to add all the created NI by specified FIT, the default is false

         auto_append_created_ni_with_ref_labels: [ospf] # ref the NIs with the ref_labels from the specified FIT.

   triggered_by_flash_probes: # flash probe list that triggered by

     - name: FlashProbe1 # flash probe name

       qualification: | # qulification to filter the Device/Interface

         $device.subTypeName=="Cisco Router" && $intf.name!="e0" && $intf.xxx=="xx"

       note: Check bgp # note on decision tree

       playbooks: [BGP, HSRP] # note on decision tree

       trigger_rule:

         run_type: Once # Once or Continuously

         frequency: # run frequency for Continuously

           interval: 20

           times: 3

         suppression:

           enable: true

           wont_run_twice_within: 15

   conflict_mode: Skip # support values: Override and Skip, the default value is Skip

Properties

Property Name

Type

Required

Definition

description

string

N

The triggered automation description

automation

object

Y

Include the NI definition.

Supports to reference current YAML created NI.

automation.network_intents

list

Y

References the NI path.

Supports multiple NIs.

automations.auto_append_created_ni

bool

N

Whether to automatically add the NI created by this FIT.

The default is true.

automations.auto_append_created_ni_with_ref_labels

list

N

Add the NI with the same labels

automations.external_assets

object

N

Add external assets

automations.external_assets.from_fit

string

N

The external FIT path

automations.external_assets.auto_append_created_ni

true

N

Whether to automatically add the created NI

The default is true.

automations.external_assets.auto_append_created_ni_with_ref_labels

list

N

Add the NI with the same labels

triggered_by_flash_probes

list object

Y

The triggered Flash Probe list.

triggered_by_flash_probes.name

string

Y

The Flash probe name

triggered_by_flash_probes.qualification

string

N

The qualification can use the GDR variable or feature variable as a condition, such as :$device.subTypeName=="Cisco Router" && $intf.name!="e0" && $intf.xxx=="xx"

It supports device GDR attribute and physical interface GDR attribute.

triggered_by_flash_probes.note_on_decision_tree

string

N

A note displayed on decision tree

triggered_by_flash_probes.trigger_rule

object

Y

The Trigger rule definition

triggered_by_flash_probes.trigger_rule.run_type

string

Y

Once or Continuously

triggered_by_flash_probes.trigger_rule.frequency

object

Y

The run frequency for Continuously

triggered_by_flash_probes.trigger_rule.frequency.interval

int

Y

The unit is minute.

triggered_by_flash_probes.trigger_rule.frequency.times

int

Y

The repeated run times.

triggered_by_flash_probes.trigger_rule.suppression

object

N

The unit is minute.

triggered_by_flash_probes.trigger_rule.suppression.enable

bool

N


triggered_by_flash_probes.trigger_rule.suppression.wont_run_twice_within

string

N


conflict_mode

string

N

To verify if the triggered automation has a conflict.  

Override or Skip (default)

enable

bool

N

Boolean value:

true (default) or false

send_mail

object

N

Setting email content.

send_mail.enable

bool

N

The default is true when there is the send_email tag and at least one valid email address is filled in.

emails

list

N

The email address list

trigger_event_template

string

N

The name of the event template to be triggered when an email is sent.

Data View Template

Action

YAML Sample

Properties

Action 

Create

oCreate a Data View Template.

Schedule

oScheduled a Data View Template.

Install Recommended Automation

oRecommend Automation of installing Data View Template.

YAML Sample

dataview_templates: # DVTs that need to create

 - path: ">>Data View Templates>Public Data View Templates>xxxx_{$fi.eigen1}"

   create_for_level: FIG # FIG or Global, the default is Global

   ref_label: "refLabel1"

   tags: [BGP, HSRP]

   default_data_source:

     type: LiveRegularly # LiveOnce, LiveRegularly, CurrentBaseline, the default is CurrentBaseline

     frequency: # for LiveRegularly

       every: 2 # unit is minute

       repeat_times: 3 # repeat run times, if null means no repeat

   qualified_devices: # support all the GDR properties that ES supports

     dynamic_search:

       conditions:

         - property: subTypeName

           values: [Cisco IOS Switch]

         - property: name

           operator: Contains # support types: Contains, Match, NotCotrains, NotMatch

           values: "BJ"

         - property: _nb_feature

           operator: Contains # support types: Contains, Match, NotCotrains, NotMatch

           values: "BJ"

       boolean_expression: A and B

     static_include:

       auto_append_matched_devices: false # the default is false

       devices: [R1, R2]

     static_exclude:

       auto_append_matched_devices: false # the default is false

       devices: [R3, R4]

   recommended_automations: # dvt level recommended automations

     - auto_append_created_ni: true # Whether to automatically add the created NI by this FIT, the default is false

     - auto_append_created_ni_for_same_FIG: true # the default is true

     - auto_append_created_ni_with_ref_labels: [refLabel1, xxxxx]

     - auto_append_created_rbt: true # Whether to automatically add the created RBT by this FIT, the default is false

     - auto_append_created_rbt_with_ref_labels: [refLabel1]

     - auto_append_created_rbt_for_same_FIG: true

     - external_assets:

         - from_fit: fit1/FIT_Root # The FIT to which the asset to be referenced belongs.

           auto_append_created_ni: false # Whether to add all the created NI by specified FIT, the default is false

           auto_append_created_ni_with_ref_labels: [ospf] # ref the NIs with the ref_labels from the specified FIT.

           auto_append_created_rbt: false # the default is false

           auto_append_created_rbt_with_ref_labels: [ospf]

     - name: Basic Commands

       type: CLI # support types: CLI, RunbookTemplate

       commands: # cli commands

         - "show verson"

         - "show standby {$fi.xxxx}"

       auto_append_feature_commands: true

       description: xxxx

     - name: Troubleshooting OSPF Neighbor State1

       type: RunbookTemplate # support types: CLI, RunbookTemplate

       path: "Built-in Runbook Templates/Sample Runbook/Troubleshooting/Troubleshooting OSPF Neighbor State" # runbook template path

       description: xxxx

     - name: NI1

       type: NetworkIntent # support types: CLI, RunbookTemplate

       path: "HSRP/General HSRP2" # runbook template path

       description: xxxx

   input_variables:

     - type: ParserParameter

       parser: "Built-in Files/CLI Command/Aruba WLC/IP Interface Brief [Aruba WLC]"

       parameters:

         - name: para1

           display_name: para1

           value: ($fi.eigen1+2)

           allow_manual_input: false # the default is false

         - name: para2

           value: $fi.eigen2

         - name: para3

           value: '"GDR:$vlan"'

   device_positions:

     - parser: "Built-in Files/CLI Command/HP ProCurve Switch/NTP Status [HP ProCurve Switch]"

       variable: sntp_mode

     - parser: "Built-in Files/CLI Command/Aruba WLC/IP Interface Brief [Aruba WLC]"

       variable: ip_intfs

     - parser: "Built-in Files/CLI Command/Aruba WLC/IP Interface Brief [Aruba WLC]"

       variable: ip_intfs1

       index: 5 # the dataview position index, if not set, the positions are set in array order by default.

     - type: Text # Text or ParserVariable, the default is ParserVariable

       title: "ospf: {$fi.var1}" # GDR property name, not display name

       content: xxxxxxxxxxxxxx{$fi.var1}xx

     - type: GDR # support types: GDR or Parser, the default is Parser

       variable: subTypeName # GDR property name, not display name

   interface_positions:

     - interface_type: IPv4 Interface

       positions:

         - parser: "Built-in Files/CLI Command/Aruba WLC/IP Interface Brief [Aruba WLC]"

           variable: ip_intfs.intf

         - type: Text # Text or ParserVariable, the default is ParserVariable

           title: "ospf: {$fi.var1}" # GDR property name, not display name

           content: xxxxxxxxxxxxxx{$fi.var1}xx

Properties

Property Name

Type

Required

Definition

path

string

Y

The Data View Template full path

create_for_level

string

N

Global(default)

FIG

ref_label

string

N


tags

string

N


default_data_source

object

Y


default_data_source.type

string

Y

LiveOnce

LiveRegularly

CurrentBaseline(default)

default_data_source.frequency

string

N

It is valid if the type is LiveRegularly, and to set the frequency.

default_data_source.frequency.type

string

N

It is valid for LiveRegularly.

default_data_source.frequency.every

string

N

It is valid for LiveRegularly.

default_data_source.frequency.repeat_times

string


It is valid for LiveRegularly.

qualified_devices

object

Y


qualified_devices.dynamic_search

object

N


qualified_devices.dynamic_search.conditions

object

N


qualified_devices.dynamic_search.conditions.property

string

N


qualified_devices.dynamic_search.conditions.operator

string

N


qualified_devices.dynamic_search.conditions.value

string

N


qualified_devices.dynamic_search.boolean_expression

string

Y


qualified_devices.static_include

object

N


qualified_devices.static_include.auto_append_matched_devices

bool

N

Whether to automatically add the devices matched by Feature Decode

false(default) or true

qualified_devices.static_include.devices

list

N

Input a hostname.

qualified_devices.static_exclude

object

N


qualified_devices.static_exclude.auto_append_matched_devices

bool

N

Whether to automatically exclude the devices matched by Feature Decode

false(default) or true

qualified_devices.static_exclude.devices

list

N

Input a hostname.

input_variables

object

N


input_variables.type

object

N

Only supports:

ParserParameter 

input_variables.parser

string

Y

It is a must tag if defining input_variables object.

input_variables.parameters

object

Y

It is a must tag if defining input_variables object.

input_variables.parameters.name

string

Y

The parameter name.

Keep the name here the same as the one in parser command.

input_variables.parameters.display_name

string

N


input_variables.parameters.value

string

Y


input_variables.parameters.allow_manual_input

string

N


recommended_automations

object

N

Currently only supports:

Execute CLI Commands.

Runbook Template.

Network Intent

recommended_automations.auto_append_created_ni

bool

N

false(default) or true

recommended_automations.auto_append_created_ni_with_ref_labels

list

N


recommended_automations.auto_append_created_ni_for_same_fig

bool

N


recommended_automations.auto_append_created_rbt

bool

N

false(default)

true

recommended_automations.auto_append_created_rbt_with_ref_labels

list

N


recommended_automations.auto_append_created_rbt_for_same_fig

bool

N


recommended_automations.external_assets

object

N


recommended_automations.external_assets.from_fit

string

Y


recommended_automations.external_assets.auto_append_created_ni

bool

N

false(default) or true

recommended_automations.external_assets.auto_append_created_ni_with_ref_labels

list

N


recommended_automations.external_assets.auto_append_created_rbt

bool

N

false(default) or true

recommended_automations.external_assets.auto_append_created_rbt_with_ref_labels

list

N


recommended_automations.name

list-string

N

The Runbook template full path

recommended_automations.type

enum

N

CLI

RunbookTemplate

NetworkIntent

recommended_automations.commands

list

N

It is valid if the type is CLI.

recommended_automations.auto_append_feature_commands

bool

N

It is valid if the type is CLI.

recommended_automations.description

string

N


recommended_automations.path

string

N

The Runbook Template or Network Intent path

device_positions

object

N


device_positions.parser

string

N

The parser path

device_positions.variable

string

N

The variable name

device_positions.index

enum

N

The data view position: 0, 1, 2 or 3, ...19.

device_positions.type

enum

N

GDR or Text

interface_positions

object

N


interface_positions.interface_type

enum

N

IPv4 Interface

Interface

IPv6 Interface

IPsec VPN Interface

GRE VPN Interface

interface_positions.positions

object

N


interface_positions.positions.parser

string

N

The parser path

interface_positions.positions.variable

string

N

The variable name

interface_positions.positions.index

enum

N

The data view position: 0, 1, 2 or 3, ...23.

Golden Baseline

Action

YAML Sample

Properties

Action 

Create

oCreate Golden Baseline, Define a Golden Baseline Template. When running YAML, the matched device or interface will be automatically instanced. Note that all GB rules defined here are Auto and do not support Manual Rule in current version.

YAML Sample

golden_baselines:

 - parser: Built-in Files/Network Vendors/Cisco/Cisco IOS/show standby [Cisco IOS]

   variable: intfs.state

   enable_dynamic: true

 - parser: Built-in Files/Network Vendors/Cisco/Cisco Nexus/show hsrp [Cisco Nexus Switch]

   variable: intfs.priority

   enable_dynamic: true

Properties

Property Name

Type

Required

Definition

parser

string

Y

The parser path

variable

string

Y

The variable name

enable_dynamic

bool

N

Boolean value:

true(default) or false

Schedule CLI Tasks

Action

YAML Sample

Properties

Action 

Schedule

oScheduled CLI command in the backend.

YAML Sample

schedule_cli_tasks: # create Schedule CLI Task

 - command: show interface {$ip1}

   frequency_type: Low # Heigh or Medium or Low

   description: FID-General HSRP-Schedule CLI

   enable: true # whether to enable, true is default value

   conflict_mode: Skip # support values: Override and Skip, the default value is Skip

Properties

Property Name

Type

Required

Definition

command

string

Y

Show the  command.

frequency_type

enum

N

High, Medium or Low(default)

description

string

N

Describe the scheduled command.

enable

bool

N

Boolean value:

true(default) or false

conflict_mode

enum

N

Override or Skip(default)

Scheduled Task

Action

YAML Sample

Properties

Action 

Schedule

oScheduled  Parser or data view template task.

YAML Sample

schedule_tasks: # create Schedule Task

 - name: FID-General HSRP-Schedule Task

   auto_append_created_DVT: true # Whether to automatically add the created DVT by this FIT

   dataview_templates: # the DVTs that need to install by schdule task

     - ">>Data View Templates>Built-in Data View Templates>Cisco ACI>Fabric Health and Faults [Cisco ACI]"

     - ">>Data View Templates>Built-in Data View Templates>GeneralHSRP"

   parsers: # the parsers that need to install by schdule task

     - "Built-in Files/Configuration/Cisco IOS/EIGRP Configuration [Cisco IOS]"

   frequency:

     type: Daily # support values: Hourly, Daily and Weekly.

     time: 20:58:25

     day_of_week: Monday # support values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday, valid when type=Weekly.

     timezone: Eastern Standard Time # see time zone: https://www.timeanddate.com/time/zones/

Properties

Property Name

Type

Required

Definition

name

string

Y

The schedule task name

auto_append_created_DVT

bool

N

Boolean value:

true or false(default)

dataview_templates

list

N

The list of Data View Templates

parsers

list

N

The list of parsers

frequency

object

Y

Define the frequency.

frequency.type        

enum

Y

It supports values: Hourly, Daily, and Weekly.

frequency.time

string

Y

An example: 20:58:25

frequency.day_of_week

enum

Y

It is valid when the type is Weekly.

It supports values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, and Sunday.

frequency.timezone

enum

Y

See time zone: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/default-time-zones

Runbook Template

Action

YAML Sample

Properties

Action 

Create

oCreate a Runbook template.

Install Recommended Automation

oRecommend Automation of installing Runbook Template.  

YAML Sample

runbook_templates:

 - path: "Shared Runbook Templates/{$fit.currentDomain}/xxx_{$fi.eigen1}"

   create_for_level: FIG # FIG or Global, the default is Global

   ref_label: "refLabel1"

   tags: [BGP, HSRP]

   qualified_devices: # support all the GDR properties that ES supports

     dynamic_search:

       conditions:

         - property: subTypeName

           values: [Cisco IOS Switch]

         - property: name

           operator: Contains # support types: Contains, Match, NotCotrains, NotMatch

           values: "BJ"

       boolean_expression: A and B

     static_include:

       auto_append_matched_devices: false # the default is false

       devices: [R1, R2]

     static_exclude:

       auto_append_matched_devices: false # the default is false

       devices: [R3, R4]

   nodes:

     - auto_append_created_dvt: true # Whether to automatically add the created RBT by this FIT, the default is false

     - auto_append_created_dvt_with_ref_labels: [refLabel1]

     - auto_append_created_dvt_for_same_FIG: true

     - external_assets:

         - from_fit: fit1/FIT_Root # The FIT to which the asset to be referenced belongs.

           auto_append_created_dvt: false # Whether to add all the created DVT by specified FIT, the default is false

           auto_append_created_dvt_with_ref_labels: [ospf] # ref the DVTs with the ref_labels from the specified FIT.

     - type: DataviewTemplate # support types: DataviewTemplate, OverallHealthMonitoring, CLI, Qapp

       path: ">>Data View Templates>Built-in Data View Templates>_Built-in Data for LWAP"

       name: Data for LWAP

       description: xxxx  # optional

     - type: Qapp # support types: DataviewTemplate, CLI, Qapp, OverallHealthMonitor, OverallHealthView

       path: "Built-in Qapp/Qapp1"

       name: Qapp1

       description: xxxx  # optional

       qualified_devices: # optional

         dynamic_search: ~

         static_include: ~

         static_exclude: ~

     - type: OverallHealthMonitor

       name: Overall Health Monitor

       description: xxxx  # optional

     - type: OverallHealthView

       name: Overall Health View

       description: xxxx  # optional

     - type: CLI

       name: Command List

       description: xxxx  # optional

       auto_append_feature_commands: true # whether to automatically append the commands of feature to RunbookTemplate Nodes, only for the commands that not include line pattern variables

       commands:

         - command: show version # the format for a command with note

           note: note for command

         - show interface  # the format without note

         - "show standby {$fi.xxxx}"

       qualified_devices: # optional

         dynamic_search: # support all the GDR properties that ES supports

           conditions:

             - property: subTypeName

               values: [Cisco IOS Switch]

             - property: name

               operator: Contains # support types: Contains, Match, NotCotrains, NotMatch

               values: "BJ"

           boolean_expression: A and B

         static_include:

           auto_append_matched_devices: false # the default is false

           devices: [R1, R2]

         static_exclude:

           auto_append_matched_devices: false # the default is false

           devices: [R3, R4]

   conflict_mode: Skip # support values: Override and Skip, the default is Skip

Properties

Property Name

Type

Required

Definition

path

string

Y

The Runbook Template full path

create_for_level

enum

Y

Global(default)

FIG

ref_label

string

N


tags

list

N


qualified_devices

object

Y


qualified_devices.dynamic_search

object

N


qualified_devices.dynamic_search.conditions

object

N


qualified_devices.dynamic_search.conditions.property

string

N


qualified_devices.dynamic_search.conditions.operator

string

N


qualified_devices.dynamic_search.conditions.value

string

N


qualified_devices.dynamic_search.boolean_expression

string

Y


qualified_devices.static_include

object

N


qualified_devices.static_include.auto_append_matched_devices

bool

N

Whether to automatically add the devices matched by Feature Decode:

false(default)

true

qualified_devices.static_include.devices

list

N

Input a hostname.

qualified_devices.static_exclude

object

N

Whether to automatically add the devices matched by Feature Decode

qualified_devices.static_exclude.auto_append_matched_devices

bool

N

false(default)

true

qualified_devices.static_exclude.devices

list

N

Input a hostname.

nodes

object

Y

Add runbook nodes. Currently supports:

DataviewTemplate

Qapp

OverallHealthMonitor

OverallHealthView

CLI

nodes.auto_append_created_dvt

bool

N

false(default)

true

nodes.auto_append_created_dvt_with_ref_labels

list

N


nodes.auto_append_created_dvt_for_same_fig

bool

N


nodes.external_assets

object

N


nodes.external_assets.from_fit

string

Y


nodes.external_assets.auto_append_created_dvt

bool

N

false(default)

true

nodes.external_assets.auto_append_created_dvt_with_ref_labels

list

N


nodes.type

enum

Y

Currently supports:

DataviewTemplate

Qapp

OverallHealthMonitor

OverallHealthView

CLI

nodes.path

string

N


nodes.name

string

N


nodes.description

string

N


nodes.commands

object

N


nodes.commands.command

list

N


nodes.commands.note

string

N


nodes.auto_append_feature_commands

bool

N

Whether to automatically append the commands of feature to RunbookTemplate Nodes; only for the commands not including line pattern variables.

true(default)

false

conflict_mode

enum

N

It supports value:

Override or Skip(default)

Guidebook

Action

YAML Sample

Properties

Action

Create

ogenerate DVT and its recommended assets relationship

ocreate hypothesis

YAML Sample

guidebooks:

 - name: guidebook1 under ({ $fig.GetDeviceNamesStr() })

   create_for_level: FIG # FIG or Global, the default is Global

   category: "nb3"

   description: xxxx

   qualified_devices: # support all the GDR properties that ES supports

     dynamic_search:

       conditions:

         - property: subTypeName

           values: [Cisco IOS Switch]

         - property: name

           operator: Contains # support types: Matches, Does not match, Contains, Does not contain, Is/is

           values: "BJ"

       boolean_expression: A and B

     static_include:

       auto_append_matched_devices: false # the default is false

       devices: [R1, R2]

       # qualification: $fi.xxx !="xxxxx"

     static_exclude:

       auto_append_matched_devices: false # the default is false

       devices: [R3, R4]

       # qualification: $fi.xxx =="xxxxx1"

   automations:

     - type: DataviewTemplate # Support types: DataviewTemplate or Hypothesis

       auto_append_created_dvt: false # Whether to add all the created DVT by this FID, the default is false

       auto_append_created_dvt_with_ref_labels: [refLabel1]

       auto_append_created_dvt_for_same_FIG: true

       external_assets:

         - from_fit: fit1/FIT_Root # The FIT to which the asset to be referenced belongs.

           auto_append_created_dvt: false # Whether to add all the created DVT by specified FID, the default is false

           auto_append_created_dvt_with_ref_labels: [refLabel1]

       dataview_templates:

         - ">>Data View Templates>Built-in Data View Templates>Cisco ACI>Fabric Health and Faults [Cisco ACI]"

         - ">>Data View Templates>Built-in Data View Templates>GeneralHSRP"

     - type: Hypothesis

       name: Hypothesis1_BGP

       auto_append_created_ni: false # Whether to add all the created NI by this FIT, the default is false

       auto_append_created_ni_with_ref_labels: [ospf, xxxxx] # refer NI by ref_label

       auto_append_created_ni_for_same_FIG: true # Whether to add the created NI for same FIG, only for create_for_level=FIG, the default is false

       auto_append_created_rbt: false # Whether to add all the created RBT by this FIT, the default is false

       auto_append_created_rbt_with_ref_labels: [ospf] # refer RBT by ref_label

       auto_append_created_rbt_for_same_FIG: true # the default is false

       external_assets:

         - from_fit: fit1/FIT_Root # The FIT to which the asset to be referenced belongs.

           auto_append_created_ni: false # Whether to add all the created NI by specified FIT, the default is false

           auto_append_created_ni_with_ref_labels: [ospf] # ref the NIs with the ref_labels from the specified FIT.

           auto_append_created_rbt: false # the default is false

           auto_append_created_rbt_with_ref_labels: [ospf]

       network_intents:

         - "HSRP/General HSRP1" # static NI

       runbook_templates:

         - "Built-in RBTs/BGP/General HSRP" # static RBT

   conflict_mode: Skip # support values: Override and Skip, the default is Skip

Properties

Property Name

Type

Required

Definition

name

string

Y

The guidebook name

create_for_level

enum

Y

Global(default)

FIG

category

string

Y

The Guidebook category.

The requirement of the category:

a.Can have the maximum number of 8 characters.

b.Only letters and numbers are allowed.

c. The last character cannot be a number.

description

string

N


qualified_devices

object

Y


qualified_devices.dynamic_search

object

N


qualified_devices.dynamic_search.conditions

object

N


qualified_devices.dynamic_search.conditions.property

string

N


qualified_devices.dynamic_search.conditions.operator

string

N


qualified_devices.dynamic_search.conditions.value

string

N


qualified_devices.dynamic_search.boolean_expression

string

Y


qualified_devices.static_include

object

N


qualified_devices.static_include.auto_append_matched_devices

bool

N

Whether to automatically add the devices matched by Feature Decode

qualified_devices.static_include.devices

list

N

Input a hostname.

qualified_devices.static_exclude

object

N

Whether to automatically exclude the devices matched by Feature Decode

qualified_devices.static_exclude.auto_append_matched_devices

bool

N


qualified_devices.static_exclude.devices

list

N

Input a hostname.

automations

object

Y


automations.type

enum

Y

DataviewTemplate or Hypothesis

automations.auto_append_created_dvt

bool

N

It is a valid tag if the type is DataviewTemplate.

 

automations.auto_append_created_dvt_with_ref_labels

list

N

It is a valid tag if the type is DataviewTemplate.

automations.auto_append_created_dvt_for_same_fig

bool

N

It is a valid tag if the type is DataviewTemplate.

automations.auto_append_created_ni

bool

N

It is a valid tag if the type is Hypothesis.

automations.auto_append_created_ni_with_ref_labels

list

N

It is a valid tag if the type is Hypothesis.

automations.auto_append_created_ni_for_same_fig

bool

N

It is a valid tag if the type is Hypothesis.

automations.auto_append_created_rbt

bool

N

It is a valid tag if the type is Hypothesis.

automations.auto_append_created_rbt_with_ref_labels

list

N

It is a valid tag if the type is Hypothesis.

automations.auto_append_created_rbt_for_same_fig

bool

N

It is a valid tag if the type is Hypothesis.

automations.external_assets

object

N


automations.external_assets.from_fit

string

Y


automations.external_assets.auto_append_created_dvt

bool


It is a valid tag if the type is DataviewTemplate.

false(default)

true

automations.external_assets.auto_append_created_dvt_with_ref_labels

list

N

It is a valid tag if the type is DataviewTemplate.

automations.external_assets.auto_append_created_ni

bool

N

It is a valid tag if the type is Hypothesis.

false(default)

true

automations.external_assets.auto_append_created_ni_with_ref_labels

list

N

It is a valid tag if the type is Hypothesis.

automations.external_assets.auto_append_created_rbt

bool

N

It is a valid tag if the type is Hypothesis.

false(default)

true

automations.external_assets.auto_append_created_rbt_with_ref_labels

list

N

It is a valid tag if the type is Hypothesis.

automations.dataview_templates

list

N

It is a valid tag if the type is DataviewTemplate.

automations.network_intents

list

N

It is a valid tag if the type is Hypothesis.

automations.runbook_templates

lsit

N

It is a valid tag if the type is Hypothesis.

conflict_mode

bool

N

Supports values:

Override

Skip(default)