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 16, 2024
1 parent 2b26693 commit 834979e
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 @@ -1112,6 +1112,28 @@ def show_low_sls(mods, saltenv="base", test=None, **kwargs):
_cleanup_slsmod_low_data(ret)
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:: 3007.1.1
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):
"""
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 834979e

Please sign in to comment.