我想使用Chef配方为我的产品调用现成的REST API。因此,使用厨师将成为安装各种组件和设置的完全自动化。简而言之,需要一种方法来调用REST服务并将输出保存到某个地方。
网上没有很多可用的例子。因为我是新手,所以任何人都可以在如何实现这一目标或在某些地方进行调查。
谢谢, Ashish
答案 0 :(得分:0)
它没有很好地记录,但您可以使用Chef的HTTP客户端类。查看https://coderanger.net/chef-tips/#4以获取基本用法示例。
答案 1 :(得分:0)
回答得很晚,但我希望它会对其他人有所帮助。 一个简单的示例就是使用GET方法调用api。
食谱/default.rb
template '/etc/response.txt' do
owner "root"
group "root"
mode "0644"
source "response.erb"
variables({
response:Chef::HTTP.new('https://www.metaweather.com/').get('/api/location/44418/',{'Accept'=> 'application/json', 'Content-Type'=>'application/json'})
})
end
templates / response.erb
<%= @response %>
这将在/etc/response.txt中产生json响应。