- tocdepth
2
Быстрый старт
В этом разделе описано, как установить Cloud CLI, инициализировать профиль и получить информацию о виртуальных машинах ECS с помощью командной строки.
Перед началом работы
Создайте IAM-пользователя на платформе Advanced и предоставьте ему разрешения для управления нужными облачными сервисами.
Установка Cloud CLI
Установите Cloud CLI для одной из операционных систем:
Внимание
При первом использовании интерфейса командной строки Cloud (Cloud CLI) подтвердите подключение к интернету и примите Политику конфиденциальности Cloud.ru.
Принять политику конфиденциальности можно с помощью команды:
cloud configure set --cli-agree-privacy-statement=true
Инициализация
Инициализация нужна для того, чтобы сохранить в конфигурационном файле информацию о ключах AK/SK и регионе и не вводить ее повторно при каждом подключении.
В этой инструкции приведен пример для операционной системы Windows. Для ОС Linux и macOS процедура выполняется похожим образом.
Параметры инициализации:
Access Key ID (AK) — ID ключа доступа, находится в файле credentials.csv.
Secret Access Key (SK) — секретный ключ доступа, находится в файле credentials.csv.
Region — регион, по умолчанию «ru-moscow-1».
Для выполнения инициализации:
Введите команду:
cloud configure init
Нажмите Enter.
Откроется диалоговый режим. Установите в нем соответствующие параметры, как показано в примере:
Starting initialization. 'Secret Access Key' is anonymized. To obtain the parameter, see 'https://support.hc.sbercloud.ru/en-us/usermanual/cloudcli/hcli_09.html'. Access Key ID [required]: H9NNF********SG65MXW Secret Access Key [required]: **** Secret Access Key (again): **** Region: ru-moscow-1 ******************************************************** ***** ***** ***** Initialization successful ***** ***** ***** ********************************************************
Отправьте запрос для проверки введенных данных инициализации:
cloud configure show --cli-profile=default
Выполнение команд в Cloud CLI
После завершения инициализации можно управлять облачными сервисами с помощью команд Cloud CLI.
Подсказка
Упростить работу с Cloud CLI можно с помощью API Explorer — удобного инструмента для онлайн-отладки API и генерации примеров Cloud CLI для API облачных сервисов.
В этом примере используется API Elastic Cloud Server (ECS) для запроса сведений о виртуальных машинах ECS.
Сделайте запрос всех операций облачного сервиса.
Команда для вывода списка всех доступных операций с облачным сервисом имеет вид:
cloud <service> --help
Чтобы вывести все доступные операции с ECS, выполните команду:
cloud ECS --help
Пример вывода
Cloud CLI Version 4.2.12 Usage: cloud ECS <operation> --param1=value1 --param2=value2 ... Service: ECS Available Operations: AddServerGroupMember MigrateServer NovaShowServerAction AssociateServerVirtualIp NovaAssociateSecurityGroup NovaShowServerGroup AttachServerVolume NovaAttachInterface NovaShowServerInterface BatchAddServerNics NovaAttachVolume NovaShowServerMetadata ...
Запросите справочную информацию об операции.
Общий вид команды:
cloud <service> <operation> --help
Чтобы вывести информацию об операции NovaShowServer, введите команду:
cloud ECS NovaShowServer --help
Пример вывода
Cloud CLI Version 4.2.12 Service: ECS Description: This API is used to query details about an ECS by ECS ID. Method: GET Params: --cli-region required string Region where the API can be called. If no region is specified in the command, cli-region in the current profile is used. --project_id required string path Specifies the project ID. If no project ID is specified in the command, either the parent project ID of the specified region in the authentication information or cli-project-id in the current profile is used. --server_id required string path Specifies the ECS ID. --OpenStack-API-Version optional string header API with a microversion.
Введите команду для вызова API и получения результата выполнения.
Общий вид команды:
cloud <service> <operation> [--param1=paramValue1 --param2=paramValue2 ...]
Где:
cli-region
— регион;project_id
— идентификатор проекта;server_id
— идентификатор виртуальной машины ECS.
Пример ввода команды:
cloud ECS NovaShowServer --cli-region="ru-moscow-1" --project_id="0dd8cb****************19b5a84546" --server_id="4f06****-****-****-****-****04dd856a"
Пример вывода
{ "server": { "tenant_id": "0dd8cb****************19b5a84546", "metadata": {}, "addresses": { "c865****-****-****-****-****efe7e8d8": [ { "OS-EXT-IPS-MAC:mac_addr": "fa:**:**:**:**:**", "OS-EXT-IPS:type": "fixed", "addr": "192.***.*.**", "version": 4 } ] }, "OS-EXT-STS:task_state": null, "OS-DCF:diskConfig": "AUTO", "OS-EXT-AZ:availability_zone": "ru-moscow-1a", "links": [ { "rel": "self", "href": "https://ecs.ru-moscow-1.hc.sbercloud.ru/v2.1/0dd8cb****************19b5a84546/servers/4f06****-****-****-****-****04dd856a" }, { "rel": "bookmark", "href": "https://ecs.ru-moscow-1.hc.sbercloud.ru/0dd8cb****************19b5a84546/servers/4f06****-****-****-****-****04dd856a" } ], "OS-EXT-STS:power_state": 4, "id": "4f06****-****-****-****-****04dd856a", "os-extended-volumes:volumes_attached": [ { "id": "aed9****-****-****-****-****0e3219cf" } ], "OS-EXT-SRV-ATTR:host": "51f41ce46********************************38b69b7aa4ea2a8", "image": { "links": [ { "rel": "bookmark", "href": "https://ecs.ru-moscow-1.hc.sbercloud.ru/0dd8cb****************19b5a84546/images/67f4****-****-****-****-****38539e09" } ], "id": "67f4****-****-****-****-****38539e09" }, "OS-SRV-USG:terminated_at": null, "accessIPv4": "", "accessIPv6": "", "created": "2022-05-10T12:56:36Z", "hostId": "51f41ce46********************************38b69b7aa4ea2a8", "OS-EXT-SRV-ATTR:hypervisor_hostname": "cf199aabae********************************bed586126e6f57", "flavor": { "links": [ { "rel": "bookmark", "href": "https://ecs.ru-moscow-1.hc.sbercloud.ru/0dd8cb****************19b5a84546/flavors/s6.medium.2" } ], "id": "s6.medium.2" }, "key_name": null, "security_groups": [ { "name": "Sys-**********" } ], "OS-EXT-STS:vm_state": "stopped", "user_id": "b4d561****************346deaf79e", "OS-EXT-SRV-ATTR:instance_name": "instance-*******", "name": "ecs-****", "OS-SRV-USG:launched_at": "2022-05-10T12:56:53.000000", "updated": "2022-05-13T08:05:17Z", "status": "SHUTOFF" } }
Примечание
Примеры команд Cloud CLI для вызова API можно просмотреть в API Explorer.
Cloud CLI автоматически получает идентификатор учетной записи и идентификатор проекта IAM-пользователя на основе информации об аутентификации пользователя во время вызова API. Пользователю не нужно указывать cli-region в команде, если он уже был указан в информации о конфигурации.
Если значение параметра в команде неверное, отображается сообщение об ошибке:
cloud ECS ShowServer --project_id="0dd8cb****************19b5a84546" --cli-region="ru-moscow-1" --server_id="abc"
{
"error": {
"message": "Instance[abc] could not be found.",
"code": "Ecs.0114"
}
}
For details, go to the API Error Center at 'https://console.hc.sbercloud.ru/apiexplorer/#/errorcenter?keyword=Ecs.0114&product=ECS'.
для Dev & Test