深入探索Chef Knife插件开发与应用
1. 高级节点编辑
对于想要了解更高级对象编辑行为的读者,可以关注 Chef::Knife::NodeEditor 类,该类位于 lib/chef/knife/core/node_editor.rb 。它在常规编辑技术和方法的基础上,增加了专门针对节点对象编辑的错误处理和检查功能,具体如下:
- 确保不会向节点对象添加无效属性。
- 当编辑节点并重命名时,对创建新节点对象发出警告。
- 确保指定了配置正确的编辑器。
虽然在实际操作中可能不会直接使用 Chef::Knife::NodeEditor 类,但可以在 Chef::Knife::NodeEdit 类(位于 lib/chef/knife/node_edit.rb ,实现了 knife node edit 命令)中看到它的实际应用。
2. 从文件创建和更新对象
在使用Knife插件处理Chef对象时,可以从本地JSON或Ruby文件创建和更新对象。许多默认的Knife插件都实现了这一功能,如 knife node from file 和 knife role from file 。为了实现这一功能,需要使用 Chef::Knife::Core::ObjectLoader 类(位于 lib/chef/knife/core/object_loader.rb
超级会员免费看
订阅专栏 解锁全文
39

被折叠的 条评论
为什么被折叠?



