Source code for saltfactories.cli.ssh

"""
``salt-ssh`` CLI factory.
"""
import attr

from saltfactories.bases import SaltCli


[docs] @attr.s(kw_only=True, slots=True) class SaltSsh(SaltCli): """ salt CLI factory. """ roster_file = attr.ib(default=None) client_key = attr.ib(default=None) target_host = attr.ib(default=None) ssh_user = attr.ib(default=None) def __attrs_post_init__(self): """ Post attrs initialization routines. """ super().__attrs_post_init__() if self.target_host is None: self.target_host = "127.0.0.1"
[docs] def get_script_args(self): """ Return the CLI arguments for the script. """ script_args = super().get_script_args() if self.roster_file: script_args.append(f"--roster-file={self.roster_file}") if self.client_key: script_args.append(f"--priv={self.client_key}") if self.ssh_user: script_args.append(f"--user={self.ssh_user}") return script_args
[docs] def get_minion_tgt(self, minion_tgt=None): """ Return the minion ID to target. """ if minion_tgt is None and self.target_host: minion_tgt = self.target_host return minion_tgt