dampen() Function (Python, SLAX, and XSLT)
Namespaces
http://xml.juniper.net/junos/commit-scripts/1.0 http://xml.libslax.org/slax
Python Syntax
result = jcs.dampen(tag-string, max, interval)
SLAX Syntax
var $result = prefix:dampen(tag-string, max, interval);
XSLT Syntax
<xsl:variable name="result" select="prefix:dampen(tag-string, max, interval)"/>
Description
Prevent the same operation from being repeatedly executed within a script.
The dampen()
function returns false
if the number of calls to the jcs:dampen()
function exceeds a max
number of calls in the time interval interval
. Otherwise, the function returns true
. The function parameters include an arbitrary string that is used
to distinguish different calls to the jcs:dampen()
function. This tag is stored in the /var/run directory on the device.
The prefix associated with the namespace URI should be defined in the prefix-to-namespace mapping in the style sheet.
Parameters
interval |
Time interval, in minutes. |
max |
Maximum number of calls to the |
tag-string |
Arbitrary string used to distinguish different
calls to the |
Return Value
result |
Boolean value based on the number of calls to |
Usage Examples
In the following example, if the jcs:dampen()
function with the tag 'mytag1' is called
less than three times in a 10-minute interval, the function returns true
. If the function is called more than three times
within 10 minutes, the function returns false
.
if (jcs:dampen('mytag1', 3, 10)) { /* Code for situations when jcs:dampen() with */ /* the tag 'mytag1' is called less than three times */ /* within 10 minutes */ } else { /* Code for situations when jcs:dampen() with */ /* the tag 'mytag1' exceeds the three call maximum */ /* limit within 10 minutes */ }
Release Information
Function introduced in Junos OS Release 9.4.
Support for the slax namespace http://xml.libslax.org/slax added in Junos OS Release 12.2.
Support for Python added in Junos OS Release 16.1R1 on QFX Series switches and ACX Series, MX Series, PTX Series, and T Series routers.
Support for Python added in Junos OS Release 17.1R1 on ACX500, ACX1000, ACX1100, ACX2000, ACX2100, ACX2200, and ACX4000 routers, and EX Series switches.
Support for Python added in Junos OS Release 17.3R1 on SRX1500, SRX4100, SRX4200, SRX5400, SRX5600, and SRX5800 devices and vSRX instances.
Support for Python added in Junos OS Release 18.3R1 on ACX5048 and ACX5096 routers.