|
|
|
@ -25,6 +25,9 @@ import re
|
|
|
|
|
from ansible.errors import AnsibleConnectionFailure
|
|
|
|
|
from ansible.module_utils._text import to_text, to_bytes
|
|
|
|
|
from ansible.plugins.terminal import TerminalBase
|
|
|
|
|
from ansible.utils.display import Display
|
|
|
|
|
|
|
|
|
|
display = Display()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TerminalModule(TerminalBase):
|
|
|
|
@ -52,11 +55,15 @@ class TerminalModule(TerminalBase):
|
|
|
|
|
|
|
|
|
|
def on_open_shell(self):
|
|
|
|
|
try:
|
|
|
|
|
for cmd in (b'terminal length 0', b'terminal width 512'):
|
|
|
|
|
self._exec_cli_command(cmd)
|
|
|
|
|
self._exec_cli_command(b'terminal length 0')
|
|
|
|
|
except AnsibleConnectionFailure:
|
|
|
|
|
raise AnsibleConnectionFailure('unable to set terminal parameters')
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
self._exec_cli_command(b'terminal width 512')
|
|
|
|
|
except AnsibleConnectionFailure:
|
|
|
|
|
display.display('WARNING: Unable to set terminal width, command responses may be truncated')
|
|
|
|
|
|
|
|
|
|
def on_become(self, passwd=None):
|
|
|
|
|
if self._get_prompt().endswith(b'#'):
|
|
|
|
|
return
|
|
|
|
|