Запрос списка 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}{&param}{&param ... }{&filter}"

Параметры

Название

Описание

Пример

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-элементах QueryResultRecordsVMRecord в атрибутах 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/.

Масштабная конференция
GoCloud 2024:
облачные грани будущего