我知道我们可以使用-json-attributes(-j)标志在chef- {client / solo}中传递节点属性.
这个标志总是期待一个 JSON文件作为输入.他们的任何方法都可以直接传递属性作为JSON对象.
这个标志总是期待一个 JSON文件作为输入.他们的任何方法都可以直接传递属性作为JSON对象.
我试过这样做例如:
chef-client -j {"attr":"value"}
但是最终会出现以下错误消息:
FATAL: I cannot find {"attr":"value"}
因为它需要一个JSON文件.
我需要传递JSON对象,如我们的env,我无法创建一个json文件.我也不想使用属性/角色/环境文件.有什么其他方式可以传递属性吗?
解决方法
你是否尝试将JSON管理到STDIN?
echo'{“attr”:“value”}’|主厨-j / dev / stdin