masoudniki / vcenter
管理并使用 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
]
对于初始化和首次使用,您可以传递用户名和密码,然后使用 VmwareApiClient 上的 getSessionId() 方法获取会话
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
基础 URL
REST API 的主要路径默认值是:"/rest/vcenter"
认证 URL
创建 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)的方法创建请求类
- 重构不良实践