- tocdepth
2
Запрос списка VM с помощью API
В предыдущих запросах использовалась конструкция https://{SITE}/api/query?type=name
для вывода списка всех объектов типа name
.
Переделаем эту конструкцию для запроса списка VM и дополним, добавив параметры вывода и фильтр по атрибутам объектов.
Request
Отправьте GET-запрос c параметрами:
type=vm
— показывать список всех объектов типа VM.fields=name,containerName
— для каждой VM показывать только атрибутыname
иcontainerName
(и по умолчанию атрибутыhref
).filter=isVAppTemplate==false
— показывать только развернутые VM, а шаблоны vApp отфильтровывать.
curl -k --header "Accept: application/*;version={VERSION}" --header "Authorization: Bearer {TOKEN}" --request GET "https://{SITE}/api/query?type={name}{¶m}{¶m ... }{&filter}"
curl -k --header "Accept: application/*;version=35.0" --header "Authorization: Bearer eyJhbG..." --request GET "https://vcd01-01.cloud.ru/api/query?type=vm&fields=name,containerName&filter=isVAppTemplate==false"
GET https://vcd01-01.cloud.ru/api/query?type=vm&fields=name,containerName&filter=isVAppTemplate==false
Headers:
- KEY: Accept
- VALUE: application/*;version=35.0
Authorization:
- Type: Bearer Token
- Token: eyJhbG...
Параметры
Название
Описание
Пример
fields
Разделенный запятыми список атрибутов, который необходимо вывести. По умолчанию возвращает все статические атрибуты и метаданные, если они есть
fields=name,containerName
filter
Логическое выражение для фильтрации данных в кодировке RFC3986 (pct). При использовании специальных символов
(
,)
,,
,;
и\
необходимо использовать обратную косую черту\
filter=isVAppTemplate==false
,filter=name==VM\,1
format
Один из следующих форматов вывода:
(используется по умолчанию)
records
— возвращает все записи объектов, каждая запись отображается как атрибут
idrecords
— возвращает то же, что иrecords
, но ссылки на объекты возвращаются в форматеid
, а не в форматеhref
references
— возвращает ссылки на каждый объект, включая атрибутыname
,type
иhref
format=idrecords
links
Логическое значение, которое определяет, нужно ли выводить элементы
Link
в результирующий набор для определенных типов объектов. По умолчаниюlinks=false
links=true
offset
Целочисленное значение, определяющее первую возвращаемую запись. Номера записей, которые меньше
offset
, не возвращаются. По умолчаниюoffset=0
offset=3
page
Если результаты запроса содержат несколько страниц, возвращается указанная страница. По умолчанию
page=1
page=6
pageSize
Количество записей на странице. Максимальное число записей — 128. По умолчанию
pageSize=25
pageSize=10
sortAsc=attribute-name
Сортировать записи по указанному атрибуту в порядке возрастания
sortAsc=name
sortDesc=attribute-name
Сортировать записи по указанному атрибуту в порядке убывания
sortDesc=numberOfCpus
type
Тип объектов. Регистр учитывается
type=vm
Фильтры
Оператор
Описание
Пример
==
Оператор «Равно». Регистр учитывается. В значение можно указать
*
, что соответствует любой строке символов
name==*test
!=
Оператор «Не равно». Регистр учитывается. Подстановка
*
недопустима. При использовании данного фильтра необходимо добавлятьfilterEncoded=true
name!=test
;
Логическое «И». Регистр учитывается
name==*test;vdcName!=vdc01
,
Логическое «ИЛИ». Регистр учитывается
name==*test,status==POWERED_OFF
=gt=
Оператор «Больше». Атрибут и значение могут иметь тип int, long или dateTime
numberOfCpus=gt=2
=lt=
Оператор «Меньше». Атрибут и значение могут иметь тип int, long или dateTime
numberOfCpus=lt=8
=ge=
Оператор «Больше или равно». Атрибут и значение могут иметь тип int, long или dateTime
numberOfCpus=ge=2
=le=
Оператор «Меньше или равно». Атрибут и значение могут иметь тип int, long или dateTime
numberOfCpus=le=8
Response
Сервер вернет список виртуальных машин, URL которых отображается в XML-элементах QueryResultRecords
— VMRecord
в атрибутах href
.
<QueryResultRecords>
<VMRecord
containerName="{vApp1-Name}"
name="{VM1-Name}"
href="https://{SITE}/api/vApp/vm-{VM1-ID}"/>
<VMRecord
containerName="{vApp2-Name}"
name="{VM2-Name}"
href="https://{SITE}/api/vApp/vm-{VM2-ID}"/>
...
</QueryResultRecords>
См.также
Полное описание конечных точек, методов и параметров запросов можно посмотреть по ссылке https://{SITE}/docs/
.
для Dev & Test