aashley/chef

Opscode Chef API 库

维护者

详细信息

github.com/aashley/php-chef

源代码

安装: 2

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 2

分支: 19

2.0.1 2020-09-17 08:02 UTC

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');