salt.modules.state

Control the state system on the minion

salt.modules.state.apply(mods=None, **kwargs)

New in version 2015.5.0.

Apply states! This function will call highstate or state.sls based on the arguments passed in, state.apply is intended to be the main gateway for all state executions.

CLI Example:

salt '*' state.apply
salt '*' state.apply test
salt '*' state.apply test,pkgs
salt.modules.state.check_request(name=None)

New in version 2015.5.0.

Return the state request information, if any

CLI Example:

salt '*' state.check_request
salt.modules.state.clear_cache()

Clear out cached state files, forcing even cache runs to refresh the cache on the next state execution.

Remember that the state cache is completely disabled by default, this execution only applies if cache=True is used in states

CLI Example:

salt '*' state.clear_cache
salt.modules.state.clear_request(name=None)

New in version 2015.5.0.

Clear out the state execution request without executing it

CLI Example:

salt '*' state.clear_request
salt.modules.state.disable(states)

Disable state runs.

CLI Example:

salt '*' state.disable highstate

salt '*' state.disable highstate,test.succeed_without_changes

Note

To disable a state file from running provide the same name that would be passed in a state.sls call.

salt '*' state.disable bind.config

salt.modules.state.enable(states)

Enable state function or sls run

CLI Example:

salt '*' state.enable highstate

salt '*' state.enable test.succeed_without_changes

Note

To enable a state file from running provide the same name that would be passed in a state.sls call.

salt '*' state.disable bind.config

salt.modules.state.high(data, test=False, queue=False, **kwargs)

Execute the compound calls stored in a single set of high data This function is mostly intended for testing the state system

CLI Example:

salt '*' state.high '{"vim": {"pkg": ["installed"]}}'
salt.modules.state.highstate(test=None, queue=False, **kwargs)

Retrieve the state data from the salt master for this minion and execute it

test

Notify states to execute in test-only (dry-run) mode.

Sets the test variable in the minion opts for the duration of the state run.

pillar
Custom Pillar data can be passed with the pillar kwarg. Values passed here will override hard-coded Pillar values.
queue : False

Instead of failing immediately when another state run is in progress, queue the new state run to begin running once the other has finished.

This option starts a new thread for each queued state run so use this option sparingly.

localconfig:
Instead of using running minion opts, load localconfig and merge that with the running minion opts. This functionality is intended for using "roots" of salt directories (with their own minion config, pillars, file_roots) to run highstate out of.

CLI Example:

salt '*' state.highstate

salt '*' state.highstate whitelist=sls1_to_run,sls2_to_run
salt '*' state.highstate exclude=sls_to_exclude
salt '*' state.highstate exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"

salt '*' state.highstate pillar="{foo: 'Foo!', bar: 'Bar!'}"
salt.modules.state.list_disabled()

List the states which are currently disabled

CLI Example:

salt '*' state.list_disabled
salt.modules.state.low(data, queue=False, **kwargs)

Execute a single low data call This function is mostly intended for testing the state system

CLI Example:

salt '*' state.low '{"state": "pkg", "fun": "installed", "name": "vi"}'
salt.modules.state.pkg(pkg_path, pkg_sum, hash_type, test=False, **kwargs)

Execute a packaged state run, the packaged state run will exist in a tarball available locally. This packaged state can be generated using salt-ssh.

CLI Example:

salt '*' state.pkg /tmp/state_pkg.tgz
salt.modules.state.request(mods=None, **kwargs)

New in version 2015.5.0.

Request that the local admin execute a state run via salt-call state.run_request All arguments match state.apply

CLI Example:

salt '*' state.request
salt '*' state.request test
salt '*' state.request test,pkgs
salt.modules.state.run_request(name='default', **kwargs)

New in version 2015.5.0.

Execute the pending state request

CLI Example:

salt '*' state.run_request
salt.modules.state.running(concurrent=False)

Return a dict of state return data if a state function is already running. This function is used to prevent multiple state calls from being run at the same time.

CLI Example:

salt '*' state.running
salt.modules.state.show_highstate(queue=False, **kwargs)

Retrieve the highstate data from the salt master and display it

Custom Pillar data can be passed with the pillar kwarg.

CLI Example:

salt '*' state.show_highstate
salt.modules.state.show_low_sls(mods, saltenv='base', test=None, queue=False, env=None, **kwargs)

Display the low data from a specific sls. The default environment is base, use saltenv (env in Salt 0.17.x and older) to specify a different environment.

CLI Example:

salt '*' state.show_low_sls foo
salt.modules.state.show_lowstate(queue=False, **kwargs)

List out the low data that will be applied to this minion

CLI Example:

salt '*' state.show_lowstate
salt.modules.state.show_sls(mods, saltenv='base', test=None, queue=False, env=None, **kwargs)

Display the state data from a specific sls or list of sls files on the master. The default environment is base, use saltenv (env in Salt 0.17.x and older) to specify a different environment.

This function does not support topfiles. For top.sls please use show_top instead.

Custom Pillar data can be passed with the pillar kwarg.

CLI Example:

salt '*' state.show_sls core,edit.vim dev
salt.modules.state.show_top(queue=False, **kwargs)

Return the top data that the minion will use for a highstate

CLI Example:

salt '*' state.show_top
salt.modules.state.single(fun, name, test=None, queue=False, **kwargs)

Execute a single state function with the named kwargs, returns False if insufficient data is sent to the command

By default, the values of the kwargs will be parsed as YAML. So, you can specify lists values, or lists of single entry key-value maps, as you would in a YAML salt file. Alternatively, JSON format of keyword values is also supported.

CLI Example:

salt '*' state.single pkg.installed name=vim
salt.modules.state.sls(mods, saltenv=None, test=None, exclude=None, queue=False, env=None, pillarenv=None, **kwargs)

Execute a set list of state files from an environment.

test

Notify states to execute in test-only (dry-run) mode.

Sets the test variable in the minion opts for the duration of the state run.

pillar
Custom Pillar data can be passed with the pillar kwarg. Values passed here will override hard-coded Pillar values.
queue : False

Instead of failing immediately when another state run is in progress, queue the new state run to begin running once the other has finished.

This option starts a new thread for each queued state run so use this option sparingly.

saltenv : None

Specify a file_roots environment.

Changed in version 0.17.0: Argument name changed from env to saltenv.

Changed in version 2014.7: Defaults to None. If no saltenv is specified, the minion config will be checked for a saltenv and if found, it will be used. If none is found, base will be used.

pillarenv : None
Specify a pillar_roots environment. By default all pillar environments merged together will be used.
concurrent:
WARNING: This flag is potentially dangerous. It is designed for use when multiple state runs can safely be run at the same Do not use this flag for performance optimization.
localconfig:
Instead of using running minion opts, load localconfig and merge that with the running minion opts. This functionality is intended for using "roots" of salt directories (with their own minion config, pillars, file_roots) to run highstate out of.

CLI Example:

salt '*' state.sls core,edit.vim dev
salt '*' state.sls core exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"

salt '*' state.sls myslsfile pillar="{foo: 'Foo!', bar: 'Bar!'}"
salt.modules.state.sls_id(id_, mods, saltenv='base', test=None, queue=False, **kwargs)

Call a single ID from the named module(s) and handle all requisites

New in version 2014.7.0.

CLI Example:

salt '*' state.sls_id apache http
salt.modules.state.template(tem, queue=False, **kwargs)

Execute the information stored in a template file on the minion.

This function does not ask a master for a SLS file to render but instead directly processes the file at the provided path on the minion.

CLI Example:

salt '*' state.template '<Path to template on the minion>'
salt.modules.state.template_str(tem, queue=False, **kwargs)

Execute the information stored in a string from an sls template

CLI Example:

salt '*' state.template_str '<Template String>'
salt.modules.state.top(topfn, test=None, queue=False, **kwargs)

Execute a specific top file instead of the default

CLI Example:

salt '*' state.top reverse_top.sls
salt '*' state.top reverse_top.sls exclude=sls_to_exclude
salt '*' state.top reverse_top.sls exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"