Если вы знакомы с PowerCLI, вам наверняка нравится, как легко с его помощью выполнять обычные административные задачи в экосистеме VMware. Недавно компания рассказала о совершенно новом уровне возможностей. Он предоставляет прямой доступ ко всем API-методам — это пакет PowerCLI SDK. Он уже включён в вашу установку PowerCLI — дополнительных скачиваний или настройки не требуется.
Что такое PowerCLI SDK?
Фоеймворк PowerCLI предлагает высокоуровневые командлеты. Кроме того, он включает автоматически генерируемые SDK-модули для многих основных продуктов VMware, таких как vSphere, NSX, SRM и VMware Cloud Foundation (VCF). Эти SDK дают точный доступ к API через PowerShell, позволяя создавать пользовательские автоматизации низкого уровня.
Чтобы увидеть доступные SDK в вашей среде, выполните команду:
Get-Module -ListAvailable -Name “VMware.SDK*”
Вы увидите вывод наподобие:
Начало работы: изучение VMware Cloud Foundation с помощью SDK
Давайте рассмотрим реальный пример использования модуля VMware.Sdk.Vcf.SddcManager. Этот модуль предоставляет доступ к полному API VMware Cloud Foundation (VCF) через PowerShell.
-
Загрузка модуля
Import-Module VMware.Sdk.Vcf.SddcManager
-
Подключение к VCF. Подобно Connect-VIServer, SDK имеет собственную команду подключения:
Connect-VcfSddcManagerServer -Server sddc-1001.vsphere.local
После подключения вы увидите детали соединения, включая токены доступа, которые автоматически используются в дальнейших вызовах.
Реальный API-вызов: получение доменов нагрузки (Workload Domains)
Предположим, вы хотите вывести список всех доменов нагрузки в вашей среде VCF.
API-метод для этого:
GET /v1/domains
Вам не нужно составлять запросы cURL или вручную отправлять HTTP-запросы. Вместо этого вы можете найти и вызвать нужный командлет прямо в PowerShell.
- Поиск нужного командлета
Используйте команду Get-VcfSddcManagerOperation для поиска доступных API-операций:
Get-VcfSddcManagerOperation -Path “*/v1/domains” -Method Get
Это направит вас к нужному командлету:
Invoke-VcfGetDomains
-
Вызов API
$domainsResponse = Invoke-VcfGetDomains $domainsResponse.Elements
Таким образом, вы получаете структурированные данные о доменах нагрузки без необходимости писать API-обёртки и вручную управлять заголовками аутентификации.
Встроенная помощь и документация
SDK-командлеты включают полную поддержку справки по всем аспектам вызываемых API:
Get-Help Invoke-VcfGetDomains -Full
Здесь вы найдёте примеры использования, описание параметров и ссылки на онлайн-документацию API. Это существенно облегчает процесс обучения и разработки.
Поддерживаемые продукты
SDK-модули доступны для многих продуктов VMware, включая:
- VMware Cloud Foundation (SDDC Manager)
- vSphere
- NSX-T
- Site Recovery Manager (SRM)
- vSphere Replication
Важно понимать, что все они автоматически включаются в последние версии фреймворка PowerCLI.
Итог
PowerCLI SDK предоставляет полный доступ к API продуктов VMware с помощью привычного синтаксиса PowerShell. Вы получаете полный контроль при создании сложных автоматизаций и можете интегрировать свои сценарии в конвейеры CI/CD без необходимости выходить из терминала. Вы также можете комбинировать высокоуровневые командлеты PowerCLI с операциями SDK, чтобы получить максимальную эффективность.


