ghasemy50/vsphere

用于管理和与 vSphere 自动化 API 交互的简单 SDK

2.2 2021-10-30 12:28 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:58:24 UTC


README

Actions Status Latest Stable Version License
codecov Scrutinizer Code Quality Build Status Code Intelligence Status

用于与 vSphere 自动化 API 交互的 SDK。您可以使用它来管理 ESXi 和由 vCenter 驱动的机器。

支持的版本

安装

使用非常简单,只需运行以下命令

composer require masoudniki/vcenter

如何使用

只需将参数传递给 VmwareApiClient 并创建一个实例

    require "vendor/autoload.php";
    $vmware=new \FNDEV\vShpare\VmwareApiClient(
        "127.0.0.1",
        [
            "username"=>"admin",
            "password"=>"admin"
        ],
         "443",
    );

参数

主机

仅接受不带协议、斜杠字符或 IP 地址的域名

凭证

您有两种认证方式

使用用户名和密码

您可以在数组中传递用户名和密码以获取会话 ID

[
    'username'=>'local@admin',
    'password'=>'123456789'
]

或使用 Vmware-Api-Session-Id

在 vCenter 中增加会话超时并直接传递会话 ID

[
    'Vmware-Api-Session-Id'=>$sessionId
]

对于初始化和首次使用,您可以通过 getSessionId() 方法在 VmwareApiClient 上传递用户名和密码,然后获取会话

    require "vendor/autoload.php";
    $vmware=new \FNDEV\vShpare\VmwareApiClient(
        "127.0.0.1",
        "443",
        [
            "username"=>"admin",
            "password"=>"admin"
        ],
    );
    $vmware->getSessionId();

端口

vCenterAppliance 应用程序的端口默认值为:443

SSL

如果您正在使用自签名证书,请传递证书路径或设置 true,否则如果不希望检查证书,请设置 false

协议

如果您正在使用 HTTP 协议运行 vCenterAppliance,请设置为 http,如果您正在使用 HTTPS,请设置为 https

BaseUrl

REST API 的主要路径默认值为:"/rest/vcenter"

AuthUrl

创建 Vmware-Api-Session-Id 的认证 URL 默认值为:" /rest/com/vmware/cis/session "

客户端

您可以创建自己的 guzzle http 客户端,设置其配置然后将其传递给 VmwaareApiClient

许可证

IRAN 用 ❤️ 制作

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件

🙋 贡献

如果您发现任何问题或有一个更好的方法来完成某事,请随意打开一个问题或拉取请求。如果您在开源项目中使用 VmwareApiClient,请创建一个拉取请求,在 README.md 文件中提供其 URL 作为示例应用程序。

❗ 安全

如果您发现任何与安全相关的问题,请通过电子邮件 masoud.niki79@gmail.com 而不是使用问题跟踪器。

TODO

  • 将其他 API 添加到 SDK
  • 编写更多测试
  • 为发送选项(如 createVm)的方法创建请求类
  • 重构不良实践