繁体   English   中英

Ruby对模板变量的操作-Chef

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM