Механизм VMware PowerCLI SDK — для чего он нужен и как работает?

Если вы знакомы с 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.

  1. Загрузка модуля

Import-Module VMware.Sdk.Vcf.SddcManager

  1. Подключение к VCF. Подобно Connect-VIServer, SDK имеет собственную команду подключения:

Connect-VcfSddcManagerServer -Server sddc-1001.vsphere.local

После подключения вы увидите детали соединения, включая токены доступа, которые автоматически используются в дальнейших вызовах.

Реальный API-вызов: получение доменов нагрузки (Workload Domains)

Предположим, вы хотите вывести список всех доменов нагрузки в вашей среде VCF.

API-метод для этого:

GET /v1/domains

Вам не нужно составлять запросы cURL или вручную отправлять HTTP-запросы. Вместо этого вы можете найти и вызвать нужный командлет прямо в PowerShell.

  1. Поиск нужного командлета

Используйте команду Get-VcfSddcManagerOperation для поиска доступных API-операций:

Get-VcfSddcManagerOperation -Path “*/v1/domains” -Method Get

Это направит вас к нужному командлету:

Invoke-VcfGetDomains

  1. Вызов 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, чтобы получить максимальную эффективность.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *