Запуск команд Yandex Cloud CLI
Команды CLI разделены на группы, каждая из которых соответствует сервису или компоненту Yandex Cloud.
Примечание
Чтобы вызвать справку для какой-либо команды, укажите глобальный флаг --help.
Команды выполняются после прохождения аутентификации. После этого токен сохраняется в файловой системе. Вы также можете получать токен из переменной среды окружения YC_IAM_TOKEN вне зависимости от того, есть ли у вас сохраненный токен.
Передача нескольких значений одного параметра
Некоторые параметры CLI могут принимать несколько значений. В зависимости от команды значения можно перечислить через запятую или передать по отдельности, повторив параметр:
yc <команда> \
--<параметр> <значение_1> \
--<параметр> <значение_2>
Поддерживаемый способ передачи значений зависит от команды и параметра. Перед выполнением команды посмотрите ее описание:
yc <команда> --help
Примеры
При создании версии функции можно передать каждую переменную окружения в отдельном параметре --environment. Используйте этот способ, например, если значение переменной содержит запятые:
yc serverless function version create \
--function-name my-function \
--runtime python312 \
--entrypoint main.handler \
--source-path ./function.zip \
--environment OPENSEARCH_HOSTS='["hostname1","hostname2","hostname3"]' \
--environment OPENSEARCH_INDEX=index_v2
При назначении ролей на сертификат передайте каждое назначение в отдельном параметре --access-binding:
yc certificate-manager certificate set-access-bindings my-certificate \
--access-binding role=editor,subject=userAccount:gfei8n54hmfh******** \
--access-binding role=viewer,subject=userAccount:helj89sfj80a******** \
--access-binding role=editor,subject=serviceAccount:ajel6l0jcb9s********
Управление конфигурацией CLI
Задать или изменить значения конфигурационных параметров CLI перед выполнением команды можно с помощью:
-
Профилей — в них сохраняется значение параметра (или набора параметров) и используется при запуске каждой команды.
Вы можете создать несколько профилей и переключаться между ними по необходимости или единоразово вызвать команду с набором параметров из другого профиля, указав глобальный параметр
--profile.Подробнее об управлении профилями читайте в пошаговых инструкциях.
-
Глобальных параметров — они определяют свойства только на один раз при вызове команды.
Глобальные параметры доступны для любой команды на любом уровне вложенности, но не все команды их обрабатывают. Например, если ресурс определяется только идентификатором, то параметры облака и каталога игнорируются.
Полный список доступных конфигурационных параметров описан в разделе Конфигурация CLI.
Обращение к ресурсам по имени
В большинстве команд CLI можно использовать идентификатор ресурса или его имя. Если вы обращаетесь по имени, поиск ресурса будет выполнен в каталоге по умолчанию.
Если ресурс находится в другом каталоге, и вы хотите к нему обратиться, укажите каталог явно через глобальный параметр:
yc <команда> <имя_ресурса> --folder-id <идентификатор_каталога>
yc <команда> <имя_ресурса> --folder-name <имя_каталога>
# Примеры
yc compute instance get testvm --folder-id b1g2doq3bh19********
yc lockbox payload get my-secret --folder-name testname
Чтобы узнать каталог по умолчанию:
yc config list
Совет
Если вы используете идентификатор ресурса, указывать каталог не нужно — идентификаторы уникальны.
Синхронность выполнения команд
Выполнение некоторых команд занимает длительное время. В таком случае можно управлять синхронностью вызова команд.
Пока выполняется команда, в синхронном режиме CLI выводит точки, а в асинхронном сразу выдает информацию об операции. Подробнее о синхронности читайте в разделе Синхронный и асинхронный режимы выполнения команд.
Подключение к прокси-серверу
CLI может отправлять запросы к Yandex Cloud через прокси-сервер. Для этого необходимо создать переменную окружения HTTPS_PROXY, из которой CLI возьмет параметры для подключения. В переменной укажите:
- логин и пароль, если для подключения требуется аутентификация;
- доменное имя или IP-адрес прокси-сервера;
- порт для установки соединения.
Совет
В URL прокси-сервера указывайте протокол, который прокси-сервер использует для входящих соединений. Если вы не знаете протокол, уточните его у администратора. Подробнее о поддерживаемых протоколах в документации пакета net/http
Если в пароле содержатся спецсимволы, замените их на шестнадцатеричные коды ASCII. Например, если в пароле есть символ @, используйте %40.
Чтобы создать переменную окружения HTTPS_PROXY, выполните команду:
export HTTPS_PROXY="https://user:password@hostname:port"
Чтобы отключить передачу трафика через прокси-сервер, удалите содержимое переменной HTTPS_PROXY:
unset HTTPS_PROXY
Чтобы создать переменную окружения HTTPS_PROXY, выполните команду:
$Env:HTTPS_PROXY = "https://user:password@hostname:port"
Чтобы отключить передачу трафика через прокси-сервер, перезапустите оболочку или удалите содержимое переменной HTTPS_PROXY с помощью команды:
$Env:HTTPS_PROXY = ""
Чтобы создать переменную окружения HTTPS_PROXY, выполните команду:
set HTTPS_PROXY=https://user:password@hostname:port
Чтобы отключить передачу трафика через прокси-сервер, перезапустите оболочку или удалите содержимое переменной HTTPS_PROXY с помощью команды:
set HTTPS_PROXY=
Версионирование команд
Для быстрого выпуска новой функциональности сервисов и обеспечения более широкого покрытия вызовов публичного API в Yandex Cloud CLI постепенно внедряется новый подход по формированию дерева команд — напрямую из proto-спецификаций
При таком подходе новые команды и их параметры не всегда соответствуют прежним. Для сохранения обратной совместимости реализовано версионирование деревьев сервисных команд.
В каждой группе сервисных команд, например yc compute, как и прежде остается основная ветка команд — yc compute [ instance | image | disk | ... ], но также добавляются ветки с номерами версии команд, например yc compute v0 [ instance | image | disk | ... ].
Основная ветка команд обязательно соответствует одной из версий. Если версия всего одна, то основная ветка полностью ее дублирует.
Информация о появлении или удалении версии команд, а также о переключении основной ветки на другую версию публикуется в разделе Релизы Yandex Cloud CLI.
Совет
Используйте актуальную версию CLI и дерево команд, которое сервис назначил основным. Если команды CLI вызываются из скриптов, CI/CD или других автоматизированных процессов, при переходе на новую версию CLI сначала проверьте совместимость команд. Пока прежняя версия команд доступна, вы можете явно указывать ее в конкретных командах или назначить ее версией по умолчанию.
Подробнее на странице Работа с версиями команд Yandex Cloud CLI.