Note: This feature is currently in beta and is available only to early adopters.
All condition All Compliance Condition types support three match modes:
...
Match mode determines how the order of the Condition input lines or regular expressions affects evaluation of the condition Condition against the selected sourceSource.
Mode | Order required | Content allowed between matches |
|---|---|---|
Loose | No | Yes |
Sequential | Yes | Yes |
Strict | Yes | No |
Example Source:
| Code Block | ||
|---|---|---|
| ||
hostname R1 interface Ethernet1 description Uplink ip address 10.0.0.1/24 interface Ethernet2 description LAN ip address 192.168.1.1/24 router ospf network 10.0.0.0/24 area 0 |
Suppose the Condition type is "Source contains" and the Condition input is:
| Code Block | ||
|---|---|---|
| ||
interface Ethernet1 ip address 10.0.0.1/24 |
The table below shows the Condition evaluation status for each match mode using the example source and Condition input:
Match mode | Condition Status | Explanation |
|---|---|---|
Loose | Successful | Both lines exist in the source. |
Sequential | Successful | The lines appear in the correct order. |
Strict | Failed | The "description Uplink" line appears between them. |
Loose Mode
Loose mode verifies that all input lines exist somewhere in the source. The order is ignored. Additional content between matching lines is irrelevant.
Example Input 1:
| Code Block | ||
|---|---|---|
| ||
description LAN hostname R1 |
Result
...
: Condition successful
Although the order of the input lines differs from the source, both lines are present.
...
| Code Block | ||
|---|---|---|
| ||
hostname R1 description WAN |
Result
...
: Condition failed
The line description WAN does not exist in the source.
...
| Code Block | ||
|---|---|---|
| ||
interface Ethernet1 ip address 10.0.0.1/24 |
Result
...
: Condition successful
The two input lines appear in the source in the correct order. The "description Uplink" line between them is ignored.
Example Input 2:
| Code Block | ||
|---|---|---|
| ||
ip address 10.0.0.1/24 interface Ethernet1 |
Result
...
: Condition failed
The input lines appear in the source in reverse order.
...
| Code Block | ||
|---|---|---|
| ||
interface Ethernet1 description Uplink ip address 10.0.0.1/24 |
Result
...
: Condition successful
These three lines appear consecutively.
...
| Code Block | ||
|---|---|---|
| ||
interface Ethernet1 ip address 10.0.0.1/24 |
Result
...
: Condition failed
The source contains the line "description Uplink" between the two input lines. Strict mode therefore fails.
Choosing the Right Match Mode
Use case | Recommended mode |
|---|---|
Verify several independent configuration lines exist | Loose |
Verify the order of configuration commands | Sequential |
Verify an exact configuration block | Strict |