tocdepth

2

Быстрый старт

В этом разделе описано, как установить Cloud CLI, инициализировать профиль и получить информацию о виртуальных машинах ECS с помощью командной строки.

Перед началом работы

  1. Создайте IAM-пользователя на платформе Advanced и предоставьте ему разрешения для управления нужными облачными сервисами.

  2. Войдите в систему как IAM-пользователь.

  3. Создайте ключи доступа AK/SK.

Установка 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».

Для выполнения инициализации:

  1. Введите команду:

    cloud configure init
    
  2. Нажмите 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           *****
    *****                                              *****
    ********************************************************
    
  3. Отправьте запрос для проверки введенных данных инициализации:

    cloud configure show --cli-profile=default
    

Выполнение команд в Cloud CLI

После завершения инициализации можно управлять облачными сервисами с помощью команд Cloud CLI.

Подсказка

Упростить работу с Cloud CLI можно с помощью API Explorer — удобного инструмента для онлайн-отладки API и генерации примеров Cloud CLI для API облачных сервисов.

В этом примере используется API Elastic Cloud Server (ECS) для запроса сведений о виртуальных машинах ECS.

  1. Сделайте запрос всех операций облачного сервиса.

    Команда для вывода списка всех доступных операций с облачным сервисом имеет вид:

    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
      ...
    
  2. Запросите справочную информацию об операции.

    Общий вид команды:

    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.
    
  3. Введите команду для вызова 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'.
Запустили Evolution free tier
для Dev & Test
Получить