Работа с версиями команд CLI
Для быстрого выпуска новой функциональности сервисов и обеспечения более широкого покрытия вызовов публичного API в Yandex Cloud CLI постепенно внедряется новый подход по формированию дерева команд — напрямую из proto-спецификаций
При таком подходе новые команды и их параметры не всегда соответствуют прежним. Для сохранения обратной совместимости реализовано версионирование деревьев сервисных команд.
В каждой группе сервисных команд, например yc compute, как и прежде остается основная ветка команд — yc compute [ instance | image | disk | ... ], но также добавляются ветки с номерами версии команд, например yc compute v0 [ instance | image | disk | ... ].
Основная ветка команд обязательно соответствует одной из версий. Если версия всего одна, то основная ветка полностью ее дублирует.
Информация о появлении или удалении версии команд, а также о переключении основной ветки на другую версию публикуется в разделе Релизы CLI.
Совет
Используйте актуальную версию CLI и дерево команд, которое сервис назначил основным. Если команды CLI вызываются из скриптов, CI/CD или других автоматизированных процессов, при переходе на новую версию CLI сначала проверьте совместимость команд. Пока прежняя версия команд доступна, вы можете явно указывать ее в конкретных командах или назначить ее версией по умолчанию.
Узнать, какие версии доступны
Когда сервис поддерживает несколько версий команд, для каждой из них доступна отдельная ветка с номером версии.
Чтобы узнать, какие версии доступны и какая из них используется в основной ветке, выполните команду:
yc <название_сервиса> --help
Пример:
yc baremetal --help
Результат:
Command tree v1 (new CLI interface) is the default. Run `yc baremetal v1 <command>`.
Legacy command tree v0 is also available: `yc baremetal v0 <command>`.
Set `services.baremetal.version: v0` or `services.baremetal.version: v1` in your profile to change the default.
Эта информация также указана на обзорной странице соответствующего сервиса в справочнике CLI, например yc baremetal или yc smartwebsecurity.
Использовать определенную версию
Чтобы использовать определенную версию, укажите ее в команде после названия сервиса:
yc <название_сервиса> v<номер_версии> <команда>
Например:
yc baremetal v0 server list
Изменить версию для основной ветки
Чтобы переопределить версию в основной ветке для выбранного профиля CLI, выполните команду:
yc config set services.<название_сервиса>.version v<номер_версии>
Например:
yc config set services.smartwebsecurity.version v0