salt.thorium.check

Create gate states that succeed or fail based on Thorium register contents or incoming events.

These states are usually placed between a register-building state and an action state. The action then uses a requisite to run only when the check succeeds.

salt.thorium.check.contains(name, value, count_lt=None, count_lte=None, count_eq=None, count_gte=None, count_gt=None, count_ne=None)

Only succeed if the value in the given register location contains the given value.

This is most useful with reg.set for simple membership checks. When the count_* options are used, the check compares how many times a value appears in the register.

USAGE:

foo:
  reg.set:
    - add: bar
    - match: my/custom/event
  check.contains:
    - value: itni

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.eq(name, value)

Only succeed if the value in the given register location is equal to the given value

USAGE:

foo:
  check.eq:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.event(name)

Check the current Thorium event batch for a matching event tag and return True if the match happens.

Use this when you want a direct event-to-action trigger without storing the event in a register first.

USAGE:

salt/foo/*/bar:
  check.event

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: salt/foo/*/bar
salt.thorium.check.gt(name, value)

Only succeed if the value in the given register location is greater than the given value

USAGE:

foo:
  check.gt:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.gte(name, value)

Only succeed if the value in the given register location is greater or equal than the given value

USAGE:

foo:
  check.gte:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.len_eq(name, value)

Only succeed if the length of the given register location is equal to the given value.

USAGE:

foo:
  check.len_eq:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.len_gt(name, value)

Only succeed if length of the given register location is greater than the given value.

USAGE:

foo:
  check.len_gt:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.len_gte(name, value)

Only succeed if the length of the given register location is greater or equal than the given value

USAGE:

foo:
  check.len_gte:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.len_lt(name, value)

Only succeed if the length of the given register location is less than the given value.

USAGE:

foo:
  check.len_lt:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.len_lte(name, value)

Only succeed if the length of the given register location is less than or equal the given value

USAGE:

foo:
  check.len_lte:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.len_ne(name, value)

Only succeed if the length of the given register location is not equal to the given value.

USAGE:

foo:
  check.len_ne:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.lt(name, value)

Only succeed if the value in the given register location is less than the given value

USAGE:

foo:
  check.lt:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.lte(name, value)

Only succeed if the value in the given register location is less than or equal the given value

USAGE:

foo:
  check.lte:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo
salt.thorium.check.ne(name, value)

Only succeed if the value in the given register location is not equal to the given value

USAGE:

foo:
  check.ne:
    - value: 42

run_remote_ex:
  local.cmd:
    - tgt: '*'
    - func: test.ping
    - require:
      - check: foo