VMware Cloud Director API
VMware Cloud Director API позволяет взаимодействовать с VMware Cloud Director через REST-клиент.
Описание методов VMware Cloud Director API — в документации VMware.
Чтобы авторизоваться и начать использовать API, узнайте версию API и получите токен.
Запросить версию API
Выполните запрос:
curl 'https://vcd.selectel.ru/api/versions'
У актуальных версий API атрибут
deprecated
принимает значениеfalse
, у неактуальных —true
.Выберите из списка любую актуальную версию API. В примерах запросов используется версия 36.3.
Получить токен
С помощью любого инструмента для перевода строк из текстового формата в MIME Base64 переведите в формат MIME Base64 строку:
<username>@<tenant>:<password>
Укажите:
<username>
— имя пользователя для доступа к Cloud Director;<tenant>
— тенант, можно посмотреть в URL для входа в Cloud Director:https://vcd.selectel.ru/tenant/<tenant>
<password>
— пароль пользователя для доступа к Cloud Director.
Запросите токен:
curl -i -XPOST \ -H 'Accept: application/*;version=<version>' \ -H 'Authorization: Basic <encoded_string>' \ 'https://vcd.selectel.ru/cloudapi/1.0.0/sessions/'
Укажите:
<version>
— версию API;<encoded_string>
— строку, полученную на шаге 1.
Посмотрите:
- токен в поле
X-VMWARE-VCLOUD-ACCESS-TOKEN
. Когда сессия с ключом истечет, токен нужно будет получить заново; - идентификатор организации в поле
org:id
в форматеurn:vcloud:org:<org_id>
, где<org_id>
— идентификатор организации.
- токен в поле
Полное описание VMware Cloud Director API в документации VMware.
Запросить объекты организации
Выведет все доступные объекты организации (виртуальные дата-центры, каталоги, задачи, квоты, группы, метаданные и сети организации), а также ссылку для администрирования организации.
Пример запроса:
curl \
-H 'Accept: application/*;version=<version>' \
-H 'Authorization: Bearer <token>' \
'https://vcd.selectel.ru/api/org/<org_id>'
Укажите:
<version>
— версию API;<token>
— токен;<org_id>
— идентификатор организации, полученный при получении токена.
Запросить объекты виртуального дата-центра
Вернет список объектов виртуального дата-центра.
Пример запроса:
curl \
-H 'Accept: application/*;version=<version>' \
-H 'Authorization: Bearer <token>' \
'https://vcd.selectel.ru/api/query?type=orgVdc'
Укажите:
<version>
— версию API;<token>
— токен.
Запросить список виртуальных машин
Вернет список виртуальных машин.
Пример запроса:
curl \
-H 'Accept: application/*;version=<version>' \
-H 'Authorization: Bearer <token>' \
'https://vcd.selectel.ru/api/query?type=vm&fields=name,containerName&filter=isVAppTemplate==false'
Параметры запроса:
type=vm
— запрашивает объекты типа виртуальная машина;fields=name,containerName
— для каждой виртуальной машины показывает только атрибутыname
иcontainerName
(и по умолчанию атрибутыhref
);filter=isVAppTemplate==false
— выводит только развернутые виртуальные машины без шаблонов vApp.
Включить виртуальную машину
Включит указанную виртуальную машину.
Пример запроса:
curl -XPOST \
-H 'Accept: application/*;version=<version>' \
-H 'Authorization: Bearer <token>' \
'https://vcd.selectel.ru/api/vApp/vm-<vm_id>/power/action/powerOn'
Укажите:
<vm_id>
— идентификатор виртуальной машины, может посмотреть при запросе списка виртуальных машин в полеhref
;<version>
— версию API;<token>
— токен.
Выключить виртуальную машину
Выключит указанную виртуальную машину.
Пример запроса:
curl -XPOST \
-H 'Accept: application/*;version=<version>' \
-H 'Authorization: Bearer <token>' \
'https://vcd.selectel.ru/api/vApp/vm-<vm_id>/power/action/powerOff'
Укажите:
<vm_id>
— идентификатор виртуальной машины, может посмотреть при запросе списка виртуальных машин в полеhref
;<version>
— версию API;<token>
— токен.
Выйти из сессии
Удалит текущую сессию.
Пример запроса:
curl -i -XDELETE \
-H 'Accept: application/*;version=<version>' \
-H 'Authorization: Bearer <token>' \
'https://vcd.selectel.ru/cloudapi/1.0.0/sessions/'
Укажите:
<version>
— версию API;<token>
— токен.