深入探索Chef API:使用Chef::Rest类与错误处理
1. Chef API与Chef::Rest类简介
为了方便从Ruby代码中发起API请求,Chef公司提供了专门用于向Chef服务器发起API请求的辅助类,避免了手动编写认证代码或从众多Chef核心对象类中挑选合适类的麻烦。此外,Chef API库也已经为Python、Go和Node.js等流行编程语言创建。
Chef提供了 Chef::Rest 类,该类位于 /lib/chef/rest.rb ,它定义了多个方法,允许使用不同的HTTP动词向Chef API发起请求,从而抽象掉了手动构造认证头的需求。
2. 实例化Chef::Rest类
Chef::Rest 类的 initialize 方法接受三个参数:Chef服务器的URL、用于认证API请求的客户端名称以及生成认证头时使用的私钥路径。示例代码如下:
chef_server_url = "http://127.0.0.1:8889"
client_name = "cctest"
signing_key_filename="/tmp/part4_examples/customizing_chef.pem"
rest = Chef::REST.new(chef_server_url, client_name, signing_key_filename)
超级会员免费看
订阅专栏 解锁全文
12

被折叠的 条评论
为什么被折叠?



