深入探索 Knife 插件:数据呈现、用户交互与对象操作
1. 呈现器类(Presenter Classes)
在处理 Chef 服务器中的复杂结构化数据时,呈现器类发挥着关键作用。这些数据通常包含多层嵌套属性,虽然便于计算机处理,但不利于向终端用户展示。Knife 提供了呈现器类来解决这个问题,它们能够解析数据并将其转换为更方便输出的格式。
1.1 通用呈现器(Chef::Knife::Core::GenericPresenter)
通用呈现器是 Knife 的基础呈现器类,位于 lib/chef/knife/core/generic_presenter.rb 。与一些抽象基类不同,它提供了一套完整的方法,可对编写 Knife 插件时可能遇到的大多数结构化数据进行格式化和输出。
- 支持的输出格式 :
- json :以 JSON 格式呈现结构化数据。示例如下:
{
"name": "production",
"description": "This is just production",
"cookbook_versions": {},
"json_class": "Chef::Environment",
"chef_type": "environment",
"default_attributes": {},
"override_attributes": {}
超级会员免费看
订阅专栏 解锁全文
6

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



