[英]Ruby operations on template variables - Chef
我已经在我的厨师食谱食谱中编写了以下模板
template '/etc/app.conf' do
variables({
my_id: Chef::HTTP.new(https://example.com).get('/',{header})
})
end
我的erb文件是
Output is : <%= @my_id %>
我实际上想执行一些ruby操作(主要是过滤出并计数my_id的组件),然后将这些值(每个组件的数量)传递回模板并进一步使用它。 erb配置应该是什么,或者需要在模板块中添加什么?
(在这里,my_id实际上具有子网,我想获取那些子网的数量及其值,以便可以进一步使用它执行另一个http请求并获取每个子网中的节点)。
对Chef Cookbook不太了解,但是您可以在ERB模板中编写一些红宝石。 我相信这不是最干净的解决方案。
请参阅此处 ,了解如何将代码嵌入到ERB中
您粘贴的内容(希望您进行了总结,因为您错过了其中的一堆引号)只是一个快速提示。 要获取JSON数据,您想使用Chef::HTTP::SimpleJSON
,它将为您进行解析, Chef::HTTP::SimpleJSON
进行其他操作。
variables data: Chef::HTTP::SimpleJSON.new('https://whatever.com/').get('/foo')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.