Skip to content

Commit

Permalink
Add state.sls_exists to ssh client
Browse files Browse the repository at this point in the history
fixes: saltstack#66893

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
  • Loading branch information
shtrom committed Sep 18, 2024
1 parent 246d066 commit a9d2309
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
22 changes: 22 additions & 0 deletions salt/client/ssh/wrapper/state.py
Original file line number Diff line number Diff line change
Expand Up @@ -1113,6 +1113,28 @@ def show_low_sls(mods, saltenv="base", test=None, **kwargs):
return ret


def sls_exists(mods, test=None, queue=None, **kwargs):
"""
Tests for the existence the of a specific SLS or list of SLS files on the
master. Similar to :py:func:`state.show_sls <salt.modules.state.show_sls>`,
rather than returning state details, returns True or False. The default
environment is ``base``, use ``saltenv`` to specify a different environment.
.. versionadded:: 3008.0
saltenv
Specify a salt fileserver environment from which to look for the SLS files
specified in the ``mods`` argument
CLI Example:
.. code-block:: bash
salt '*' state.sls_exists core,edit.vim saltenv=dev
"""
return isinstance(show_sls(mods, test=test, queue=queue, **kwargs), dict)


def show_top(**kwargs):
"""
Return the top data that the minion will use for a highstate
Expand Down
10 changes: 10 additions & 0 deletions tests/integration/ssh/test_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,16 @@ def test_state_show_sls(self):
check_file = self.run_function("file.file_exists", [SSH_SLS_FILE], wipe=False)
self.assertFalse(check_file)

def test_state_sls_exists(self):
"""
test state.sls_exists with salt-ssh
"""
ret = self.run_function("state.sls_exists", [SSH_SLS])
self.assertTrue(ret)

check_file = self.run_function("file.file_exists", [SSH_SLS_FILE], wipe=False)
self.assertFalse(check_file)

def test_state_show_top(self):
"""
test state.show_top with salt-ssh
Expand Down

0 comments on commit a9d2309

Please sign in to comment.