Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions content/reference/functions/regline.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ bundle edit_line upgrade_cfexecd
# bundles and persist until it is explicitly canceled or until the end of
# the agent run.
scope => "bundle";

insert_lines:
exec_fix::
"0,5,10,15,20,25,30,35,40,45,50,55 * * * * /var/cfengine/bin/cf-execd -F";
Expand Down
47 changes: 47 additions & 0 deletions content/reference/promise-types/classes.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,53 @@ classes:

**See also:** [`persistence` classes attribute][classes#persistence], [`persist_time` in classes body][Promise types#persist_time]

### timer_policy

**Description:** Determines whether a persistent class restarts its counter
when rediscovered.

When a [`persistence`][classes#persistence] timer is set, `timer_policy`
controls what happens on later runs while the class is still defined (loaded
from the persistent store):

- `reset` re-evaluates the promise and restarts the timer, so the class keeps
persisting for as long as the policy keeps running and the expression stays
true.
- `absolute` preserves the original expiry. While the class is already defined
the promise is skipped, so the class disappears once the original timer
elapses, regardless of how often the policy runs.

This is the counterpart of `timer_policy` in the classes body, which has always
defaulted to `reset`.

**Type:** (menu option)

**Allowed input range:** `absolute|reset`

**Default value:** reset

**Example:**

```cf3 {skip TODO}
bundle common setclasses
{
classes:
"cached_class"
expression => "any",
persistence => "120",
timer_policy => "reset";
}
Comment thread
nickanderson marked this conversation as resolved.
```

**History:**

- Introduced in CFEngine 3.24.5, 3.27.2, and 3.28.0.
- The default is `reset` as of 3.28.0. In 3.24.5 and 3.27.2 (and later patch
releases in those series) the default is `absolute`, preserving the prior
behavior.

**See also:** [`persistence` classes attribute][classes#persistence], [`timer_policy` in classes body][Promise types#timer_policy], [`persist_time` in classes body][Promise types#persist_time]

### not

**Description:** Evaluate the negation of string expression in normal form
Expand Down
Loading