转储:厨师中的节点对象
Dump :node object in chef
我是一名开发人员,负责对 devops 团队拥有的说明书进行一些更改。我们无法访问 knife 或厨师服务器。
我尝试对现有厨师食谱添加一些调试
members = search(
:node,
search_str,
filter_result: {
'name' => ['name'],
}
#
# print statements NOT working as expected
#
p ":node=" + :node.to_s # <--- prints ":node=node"
pp :node.to_s # <--- prints "node"
pp :node # <--- prints :node
是否可以转储 :node 对象的整个 json 结构?任何解决方法。我想查看 :node 对象的结构来调试 search() 调用,因为搜索没有按预期工作。
谢谢。
:node
in ruby 是一个 symbol,不是变量。符号始终以冒号 (:
) 开头。对于初学者,您可以将它们视为不可变字符串。这就是为什么你得到这样的输出。你只是打印了很多字符串。
你真正需要的只是node
:
pp "node:", node
但请注意,node
是一个具有很多属性的巨大对象。
我是一名开发人员,负责对 devops 团队拥有的说明书进行一些更改。我们无法访问 knife 或厨师服务器。
我尝试对现有厨师食谱添加一些调试
members = search(
:node,
search_str,
filter_result: {
'name' => ['name'],
}
#
# print statements NOT working as expected
#
p ":node=" + :node.to_s # <--- prints ":node=node"
pp :node.to_s # <--- prints "node"
pp :node # <--- prints :node
是否可以转储 :node 对象的整个 json 结构?任何解决方法。我想查看 :node 对象的结构来调试 search() 调用,因为搜索没有按预期工作。
谢谢。
:node
in ruby 是一个 symbol,不是变量。符号始终以冒号 (:
) 开头。对于初学者,您可以将它们视为不可变字符串。这就是为什么你得到这样的输出。你只是打印了很多字符串。
你真正需要的只是node
:
pp "node:", node
但请注意,node
是一个具有很多属性的巨大对象。