轻量级资源与原生提供者实践指南
1. 资源更新通知机制
在Chef中, Chef::Resource::<CookbooknameResourcename> 定义了一个名为 updated_by_last_action 的方法。当我们的提供者对资源进行了更改时,可以通过如下方式调用该方法并传入参数 true :
new_resource.updated_by_last_action(true)
调用此方法能让Chef知晓我们的资源需要进行更改以达到期望状态,并且表明资源是由最后一个操作更新的。若使用 converge_by 块使提供者兼容 why-run 模式,严格来说不需要显式调用 new_resource.updated_by_last_action ,因为 converge_by 块会自动完成这个操作。为了清晰展示,这里的示例包含了显式的方法调用。
2. 实践:创建原生提供者
2.1 需求背景
AwesomeInc团队需要创建一个轻量级资源提供者(LWRP)来管理其 awesomeator 工具配置文件的备份。该LWRP需具备以下两个功能:
- 若小于24小时的配置文件压缩备份不存在,则创建一个压缩备份。
- 将之前的压缩备份提取到指定位置。
超级会员免费看
订阅专栏 解锁全文
1251

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



