Форматы вывода команд

output format options
Не только текст

Команда pmta печатает результат в одном из четырёх форматов: текст для человека — по умолчанию, –xml, –dom — переменные для скриптов без разбора XML — и –json.

Ключ формата ставится перед командой: pmta –json show status.

Главная ловушка — разбирать текстовый вывод скриптом. Ширина столбцов и заголовки текста рассчитаны на глаза и меняются между версиями; структура держится полями.
Что делает Хаб. Через POST /command просит json — структуру: json-text на части команд отдавал пустую строку. Команды, которые Хаб запускает по SSH, он читает в текстовом виде.
Рекомендуемые значения

Четыре формата:

Ключ Что печатает Кому
— текст человеку
–xml XML программам с XML
–dom переменные вида имя=”значение” скриптам Perl и оболочки
–json JSON программам с JSON
Четыре формата и их назначение — из руководства (§ 6.2). Разбор ловушки — наш.
Пример в конфигурации
# состояние структурой и переменными DOM
pmta --json show statuspmta --dom show status | grep smtpOut
Переменные DOM ищут обычным grep — для этого формат и задуман.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Сравнить форматы одной команды:
pmta show version
pmta --json show version
Данные те же; меняется только вид.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Собрать телеметрию