Общий синтаксис
Все команды следуют единому синтаксису и поддерживают глобальные флаги.
Общий формат команды
Синтаксис:
dnscli <Command> [flags]
Описание элементов:
-
<Command>— имя команды (например,ZoneCreate,RecordAddA,RecordBulk); -
[flags]— опциональные параметры, включая глобальные и специфичные для команды.
Глобальные флаги
Все команды поддерживают следующие глобальные флаги, которые влияют на поведение клиента независимо от типа операции:
-
--server— FQDN, IP или NetBIOS-имя сервераelles-dns-api(по умолчанию:localhost); используется для подключения к удаленному хосту; -
--username— учетные данные для аутентификации Kerberos:current(использовать текущий TGT), UPN (<user>@<REALM>), а также FQDN, IP-адрес или NetBIOS-имя, если они зарегистрированы как SPN в службе каталогов; -
--json— выводит результат в структурированном JSON-формате; все ошибки также возвращаются в виде JSON;В режиме
--jsonвсе ошибки также выводятся в формате JSON:{ "error": { "message": "zone not found", "code": 404, "request_id": "abc123..." }, "success": false } -
--verbose— уровень детализации вывода:short(краткий) илиfull(полный, включает метаданные запроса); -
--ErrorAction— поведение при ошибке:Stop(прервать выполнение),Continue(продолжить),Ignore(игнорировать),SilentlyContinue(игнорировать без сообщения); -
--dry-run— пробный запуск: проверяет корректность параметров и выводит план операции, но не выполняет изменения; -
--insecure— пропускает проверку TLS-сертификата сервера; используется для тестирования с самоподписанными сертификатами; -
--table-style— стиль вывода таблиц:light,bold,rounded,double,plain. Управляет визуальным оформлением текстового вывода.
Примеры использования с глобальными флагами
Запрос информации о зоне с явным указанием сервера и JSON-выводом:
dnscli ZoneInfo --name example.com --server dns-api-server.example.com --json
Создание A-записи с пробным прогоном и полной детализацией:
dnscli RecordAddA --name www.example.com --data 192.168.1.10 --dry-run --verbose full
Удаление узла с игнорированием ошибок и выбором стиля оформления таблицы:
dnscli NodeDelete --name stale.example.com --force --ErrorAction SilentlyContinue --table-style plain
Массовая операция с указанием пользователя и пропуском проверки TLS:
cat bulk-ops.json | dnscli RecordBulk --zonename example.com --username user@EXAMPLE.COM --insecure
Правила применения флагов
При указании глобальных флагов учитывайте:
-
глобальные флаги могут быть указаны в любом порядке перед командой или после нее;
-
специфичные флаги (например,
--data,--zonename,--partition) обязательны для конкретных команд и описаны в документации каждой команды; -
при использовании
--jsonвсе ответы (включая ошибки) — структурированный JSON, что позволяет удобно разбирать их в скриптах:if dnscli ZoneInfo --name example.com --json | jq -e '.success == true' >/dev/null; then echo "Zone exists" fi
Обновлено: