aashley / chef
Opscode Chef API 库
2.0.1
2020-09-17 08:02 UTC
Requires
- php: >=7.0.0
- ext-curl: *
- ext-json: *
- ext-openssl: *
This package is auto-updated.
Last update: 2024-09-17 16:42:07 UTC
README
Chef Server API 用于提供对 Chef Server 上对象的访问,包括节点、环境、角色、cookbook(及其版本),以及管理 API 客户端列表和相关 RSA 公钥对。
这是一个通用库,并提供了对 Laravel 框架的额外支持。
这个库是从https://github.com/jenssegers/php-chef 分支出来的。我有一些不同的需求,并将独立维护。出于与旧版本兼容的原因,我仍然使用原始的包命名空间,因此这是一个即插即用的替代品。
安装
在 composer.json 中添加 aashley/chef
作为需求
composer require "aashley/chef" "^2.0"
使用 composer update
更新您的包,或使用 composer install
安装。
使用方法
创建一个类似于这样的 chef 对象
// composer
require_once 'vendor/autoload.php';
use Jenssegers\Chef\Chef;
// create chef object
$chef = new Chef($server, $client, $key, $version);
// API request
$response = $chef->api($endpoint, $method, $data);
有关所有可用端点的信息,请参阅http://docs.opscode.com/api_chef_server.html。
示例
获取节点
$nodes = $chef->get('/nodes');
创建数据包
$bag = new stdClass;
$bag->name = "test";
$resp = $chef->post('/data', $bag);
更新节点
$node = $chef->get('/nodes/webserver1');
$node->attributes->type = "webserver";
$chef->put('/nodes/webserver1', $node);
删除数据包
$chef->delete('/data/test/item');