Source code for saltfactories.cli.key

"""
``salt-key`` CLI factory.
"""
import re

import attr

from saltfactories.bases import SaltCli


[docs] @attr.s(kw_only=True, slots=True) class SaltKey(SaltCli): """ salt-key CLI factory. """ _output_replace_re = attr.ib( init=False, repr=False, default=re.compile(r"((The following keys are going to be.*:|Key for minion.*)\n)"), ) # As of Neon, salt-key still does not support --log-level # Only when we get the new logging merged in will we get that, so remove that CLI flag __cli_log_level_supported__ = attr.ib(repr=False, init=False) @__cli_log_level_supported__.default def _default___cli_log_level_supported__(self): from salt.utils.parsers import SaltKeyOptionParser return "--log-level" in SaltKeyOptionParser._console_log_level_cli_flags # noqa: SLF001
[docs] def get_minion_tgt(self, minion_tgt=None): # noqa: ARG002 """ Overridden method because salt-key does not target minions. """ return
[docs] def process_output(self, stdout, stderr, cmdline=None): """ Process the returned output. """ # salt-key print()s to stdout regardless of output chosen stdout = self._output_replace_re.sub("", stdout) return super().process_output(stdout, stderr, cmdline=cmdline)