mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-25 20:01:25 -07:00
Change default output of NXAPI to text to match CLI (#40607)
* Default output format for nxapi now 'text' * Apply json output to both types of input * Add missing ConnectionError import to cliconf plugins
This commit is contained in:
parent
4cc4d63289
commit
d028a0257a
3 changed files with 10 additions and 6 deletions
|
@ -25,6 +25,7 @@ import time
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
from ansible.module_utils._text import to_bytes
|
from ansible.module_utils._text import to_bytes
|
||||||
|
from ansible.module_utils.connection import ConnectionError
|
||||||
from ansible.module_utils.network.common.utils import to_list
|
from ansible.module_utils.network.common.utils import to_list
|
||||||
from ansible.plugins.cliconf import CliconfBase, enable_mode
|
from ansible.plugins.cliconf import CliconfBase, enable_mode
|
||||||
from ansible.plugins.connection.network_cli import Connection as NetworkCli
|
from ansible.plugins.connection.network_cli import Connection as NetworkCli
|
||||||
|
|
|
@ -24,6 +24,7 @@ import json
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
||||||
from ansible.module_utils._text import to_bytes, to_text
|
from ansible.module_utils._text import to_bytes, to_text
|
||||||
|
from ansible.module_utils.connection import ConnectionError
|
||||||
from ansible.module_utils.network.common.utils import to_list
|
from ansible.module_utils.network.common.utils import to_list
|
||||||
from ansible.plugins.cliconf import CliconfBase
|
from ansible.plugins.cliconf import CliconfBase
|
||||||
from ansible.plugins.connection.network_cli import Connection as NetworkCli
|
from ansible.plugins.connection.network_cli import Connection as NetworkCli
|
||||||
|
|
|
@ -35,22 +35,24 @@ class HttpApi:
|
||||||
responses = list()
|
responses = list()
|
||||||
|
|
||||||
for item in to_list(data):
|
for item in to_list(data):
|
||||||
cmd_output = message_kwargs.get('output', 'json')
|
cmd_output = message_kwargs.get('output', 'text')
|
||||||
if isinstance(item, dict):
|
if isinstance(item, dict):
|
||||||
command = item['command']
|
command = item['command']
|
||||||
if command.endswith('| json'):
|
if 'output' in item:
|
||||||
command = command.rsplit('|', 1)[0]
|
|
||||||
cmd_output = 'json'
|
|
||||||
elif 'output' in item:
|
|
||||||
cmd_output = item['output']
|
cmd_output = item['output']
|
||||||
else:
|
else:
|
||||||
command = item
|
command = item
|
||||||
|
|
||||||
|
# Emulate '| json' from CLI
|
||||||
|
if command.endswith('| json'):
|
||||||
|
command = command.rsplit('|', 1)[0]
|
||||||
|
cmd_output = 'json'
|
||||||
|
|
||||||
if output and output != cmd_output:
|
if output and output != cmd_output:
|
||||||
responses.extend(self._run_queue(queue, output))
|
responses.extend(self._run_queue(queue, output))
|
||||||
queue = list()
|
queue = list()
|
||||||
|
|
||||||
output = cmd_output or 'json'
|
output = cmd_output
|
||||||
queue.append(command)
|
queue.append(command)
|
||||||
|
|
||||||
if queue:
|
if queue:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue