Создание vApp из шаблона с помощью API
Рассмотрим создание vApp из шаблона. В процессе создания vApp присваивается существующая сеть организации.
Выполните следующие шаги:
Запрос объектов виртуального ЦОД
Запросите список объектов виртуального ЦОД. Понадобятся следующие объекты:
URL и тип параметров для создания vApp из шаблона. Эта информация размещается в XML-элементах Vdc — Link.
<Vdc><Linkrel="add"href="https://{SITE}/api/vdc/{VDC-ID}/action/instantiateVAppTemplate"type="application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml"/>...</Vdc>URL cети организации. Он размещается в XML-элементах Vdc — AvailableNetworks — Network в атрибуте href.
<Vdc><AvailableNetworks><Networkhref="https://{SITE}/api/network/{NET-ID}"id="urn:vcloud:network:{NET-ID}"name="{NET-NAME}"type="application/vnd.vmware.vcloud.network+xml"/>...</AvailableNetworks>...</Vdc>
Запрос списка шаблонов vApp
Request
Отправьте GET-запрос на https://{SITE}/api/query?type=vAppTemplate.
curl -k --header "Accept: application/*;version={VERSION}" --header "Authorization: Bearer {TOKEN}" --request GET "https://{SITE}/api/query?type=vAppTemplate"
Response
Выберите шаблон, на основе которого необходимо создать vApp. URL шаблонов располагаются в XML-элементах QueryResultRecords — VAppTemplateRecord в атрибутах href.
<QueryResultRecords><VAppTemplateRecordname="{TEMPLATE-1-NAME}"href="https://{SITE}/api/vAppTemplate/vappTemplate-{TEMPLATE-1-ID}"/><!-- Other params --><VAppTemplateRecordname="{TEMPLATE-2-NAME}"href="https://{SITE}/api/vAppTemplate/vappTemplate-{TEMPLATE-2-ID}"/><!-- Other params -->...</QueryResultRecords>
Создание vApp из шаблона
Request
Создайте POST-запрос на URL для создания vApp из шаблона.
Добавьте в заголовок Content-Type тип параметров для создания vApp из шаблона.
Укажите в Body запроса:
название vApp;
название сети vApp;
URL сети организации, которую нужно назначить vApp;
URL шаблона vApp.
Для запросов:
Postman — добавьте Body на вкладку Body.
cURL — предлагаем сохранить Body в XML-файле и обращаться к нему при отправке запроса из командной строки.
Пример используемого Body указан ниже.
Отправьте POST-запрос.
curl -k --header "Accept: application/*;version={VERSION}" --header "Authorization: Bearer {TOKEN}" --header "Content-Type: {instantiateVAppTemplateParams-TYPE}" --data {PATH-TO-BODY} --request POST "https://{SITE}/api/vdc/{VDC-ID}/action/instantiateVAppTemplate"
Response
HTTP/1.1 201 Created...
Полное описание конечных точек, методов и параметров запросов можно посмотреть по ссылке https://{SITE}/docs/.
- Запрос объектов виртуального ЦОД
- Запрос списка шаблонов vApp
- Создание vApp из шаблона