Новости Статьи Российское ПО VMware Veeam StarWind vStack Microsoft Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6470 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru / News / REST API в продуктах VMware Fusion и VMware Workstation - как это работает.

REST API в продуктах VMware Fusion и VMware Workstation - как это работает.

18/07/2018

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Пост:

Еще в настольной платформе виртуализации VMware Fusion 10 для Mac OS, вышедшей осенью прошлого года, появился программный интерфейс REST API, который позволяет управлять как самой платформой, так и виртуальными машинами, исполняемыми на ней. Совсем недавно, когда вышла версия VMware Workstation 2018 Tech Preview, в которой также появился новый REST API полностью идентичный таковому в VMware Fusion. Однако для Workstation он пока работает только для хостовой ОС Windows.

REST API позволяет управлять различными функциями виртуальных машин, например их inventory, питанием, клонированием, сетевым взаимодействием, получением IP и MAC-адресов, а также другими аспектами их функционирования. Все это позволяет проводить автоматизированные тесты в виртуальных машинах, когда их требуется клонировать и настраивать, а затем уничтожать по окончании теста. Эти функции пока доступны только для Windows.

Давайте посмотрим, как это работает. Сначала сконфигурируем доступ к REST API, задав логин и пароль для авторизации:

  • Чтобы настроить Credentials к REST API на машине с Workstation, нужно перейти в папку C:\Program Files (x86)\VMware\VMware Workstation и запустить там:
    vmrest.exe --config
  • На VMware Fusion нужно пойти в /Applications/VMware Fusion.app/Contents/Public и запустить там:
    ./vmrest -C

На Workstation вас попросят задать пользователя и пароль:

C:\Program Files (x86)\VMware\VMware Workstation>vmrest --config
VMware Workstation REST API
Copyright (C) 2018 VMware Inc.
All Rights Reserved

vmrest 1.1.0 build-8888902
Username:alex
New password:
Retype new password:
Processing...
Credential updated successfully

На Fusion это будет выглядеть вот так:

MacBook-Pro-alex:Public alex$ ./vmrest -C
VMware Fusion REST API
Copyright (C) 2015-2017 VMware Inc.
All Rights Reserved

vmrest 1.0.0 build 6754183
Username:alex
New password:
Retype new password:
Processing...
Credential updated successfully

После этого можно запускать REST API:

  • На Fusion это делается командой ./vmrest
  • На Workstation надо просто запустить vmrest.exe

После этого у вас на рабочей станции запустится веб-сервер, через который вы сможете получить доступ к REST API как через браузер, так и через сторонние REST-клиенты или системы, которые вы хотите интегрировать с Workstation или Fusion. На Workstation для доступа к веб-серверу на дефолтном порту используйте адрес:

http:\\127.0.0.1:8697

На Fusion ссылка аналогичная (можно писать 127.0.0.1 вместо localhost):

http:\\localhost:8697

Далее для обеих платформ процедура выглядит абсолютно одинаково, поэтому дальше мы не будем уточнять, где это исполняется.

Первое что вы увидите - это REST API Explorer, запущенный в интерфейсе Swagger, в котором показаны доступные для использования функции по работе с хостом и виртуальными машинами:

Тут вам не понадобится использовать Curl, PowerShell, Postman или другие инструменты, чтобы протестировать основные функции API.

Здесь все просто:

  • Host Networks Management - здесь можно посмотреть все виртуальные сети на хосте, а добавить, изменить или удалить форвардинг портов.
  • Maintenance - можно задать режим работы демона (можно его выключить для перехода в режим обслуживания).
  • VM Management - управление виртуальными машинами (получение их списка и информации о ВМ, задание их настроек, клонирование ВМ и удаление).
  • VM Network Adapters Management - управление сетевыми адаптерами ВМ (получение списка сетевых адаптеров и IP-адресов ВМ, а также создание, обновление или удаление сетевых адаптеров ВМ).
  • VM Power Management - получение состояния ВМ и управление ее питанием.
  • VM Shared Folders Management - монтирование, размонтирование или изменение конфигурации общих папок на хосте.

После запуска веб-интерфейса, нужно сначала авторизоваться, нажав Authorize в правом верхнем углу и введя логин и пароль, которые мы задали в самом начале:

Далее можно нажать на Show/Hide для некоторых пунктов и посмотреть доступные операции:

Обратите внимание на цветовое кодирование, оно поможет вам понимать, чем вы занимаетесь при тестировании API:

  • Методы GET будут подсвечены синим цветом - это абсолютно безопасно, так как они только читают данные.
  • Желтым цветом будут подсвечены методы PUT - это изменение каких-либо настроек.
  • Зеленые методы POST - это создание новых сущностей (например, сетевых адаптеров) или выполнение операций (например, клонирование ВМ).
  • Красные методы DELETE - удаление сущностей.

Каждую операцию можно раскрыть подробнее, нажав на соответствующую строчку. Например, раскроем GET /vms для VM Management:

Здесь объясняется модель данных JSON-массива, в которой ожидается прием параметров.

Если посмотреть ниже, то мы найдем кнопку TRY IT OUT!, по нажатию на которую мы получим ответ в блоке Responce Body, где будет ID виртуальных машин и путь к ним в хостовой системе:

В данном случае код ответа (Responce Code) был 200, но бывают и другие коды ответа, обратите на них внимание:

Давайте попробуем уже метод не чтения, а метод PUT (обновление настроек). Например, для PUT /vms/{id}. Здесь мы видим, что можно поменять число процессоров ВМ и объем выделенной памяти:

Если вы кликните справа на Example Value, то значение примера подставится в окошко parameters и вам останется лишь поменять числовые значения. После того, как вы измените параметры и нажмете try it out, в поле Responce body должна отобразиться новая конфигурация ВМ.

Также можно, например, создать сетевой адаптер для виртуальной машины с помощью метода POST:

Ну и затем удалить его с помощью метода DELETE (обратите внимание, что Responce code в этом случае будет 204, а не 200):

Кстати, имейте в виду, что удаление ВМ в данном случае произойдет без подтверждения, так что будьте осторожны.

Ну а дальше вы можете получить доступ к REST API Workstation или Fusion через любой REST-клиент, например, через PowerShell или Postman, но самый простой метод - это использовать curl. Как это сделать, вы можете прочитать вот в этой статье Вильяма Лама.

Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Enterprise Offtopic Broadcom VMachines Veeam Microsoft Cloud StarWind NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V VCF Operations Certification Memory Kubernetes NVMe AI vSAN VMConAWS vDefend VCDX Explore Tanzu Workstation Private AI Update Russian Ports HCX Live Recovery CloudHealth NSX Labs Backup Chargeback Aria VCP Intel Community Ransomware Stretched Network VMUG VCPP Data Protection ONE V2V DSM DPU Omnissa EUC Avi Skyline Host Client GenAI Horizon SASE Workspace ONE Networking Tools Performance Lifecycle AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile SRM ARM HCI Converter Photon OS VEBA App Volumes Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey RDMA vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Availability Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V Capacity KB VirtualCenter NFS ThinPrint VCAP Upgrade Orchestrator ML Director SIOC Troubleshooting Bugs ESA Android Python Hub Guardrails CLI Driver Foundation HPC Optimization SVMotion Diagram Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2026, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge