ghasemy50 / vsphere
用于管理和与 vSphere 自动化 API 交互的简单 SDK
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- larapack/dd: ^1.1
- phpstan/phpstan: ^0.12.93
- phpunit/phpunit: ^9.5
README
用于与 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)的方法创建请求类
- 重构不良实践