salt.states.loop module

Loop state

Allows for looping over execution modules.

New in version 2017.7.0.

wait_for_service_to_be_healthy:
  loop.until:
    - name: boto_elb.get_instance_health
    - condition: m_ret[0]['state'] == 'InService'
    - period: 5
    - timeout: 20
    - m_args:
      - {{ elb }}
    - m_kwargs:
        keyid: {{ access_key }}
        key: {{ secret_key }}
        instances: "{{ instance }}"

Warning

This state allows arbitrary python code to be executed through the condition parameter which is literally evaluated within the state. Please use caution.

salt.states.loop.until(name, m_args=None, m_kwargs=None, condition=None, period=0, timeout=604800)

Loop over an execution module until a condition is met.

name
The name of the execution module
m_args
The execution module's positional arguments
m_kwargs
The execution module's keyword arguments
condition
The condition which must be met for the loop to break. This should contain m_ret which is the return from the execution module.
period
The number of seconds to wait between executions
timeout
The timeout in seconds

Docs for previous releases are available on readthedocs.org.

Latest Salt release: 2018.3.0

Previous topic

salt.states.logrotate module

Next topic

salt.states.lvm