news 2026/6/15 17:23:19

19、Chef 定义:创建可重用参数化宏的实用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
19、Chef 定义:创建可重用参数化宏的实用指南

Chef 定义:创建可重用参数化宏的实用指南

1. 定义的特性与适用场景

在 Chef 中,定义(Definitions)有着独特的特性和适用场景。定义本身不能被其他资源通知,例如notifies :restart, resources(:service => "httpd")这样的通知,是服务资源 “httpd” 被通知执行重启操作,而定义只是对其他资源的封装,不定义任何动作,所以无法被通知。

当你遇到以下情况时,需要考虑是否适合使用定义:
- 如果你使用定义来定义现有资源难以构建的行为,或者希望其他资源能够通知该行为,那么可能需要考虑实现轻量级或重量级资源和提供者(LWRPs 和 HWRPs)。
- 如果你想为常用的资源和食谱代码集合创建一个可重用的包装器,定义是一个不错的选择。

2. 定义示例 1:骨架代码

下面通过一个具体的例子来详细说明如何创建定义。假设 AwesomeInc 公司创建了一个名为 “awesomeator” 的定制库存管理工具,需要创建一个食谱来安装和配置该工具。在安装工具之前,需要为其创建配置文件和目录结构,并且希望将这些准备步骤作为一个单一资源来处理,我们将这个定义命名为awesomeator_prepare

首先,创建定义所需的最小代码。所有定义都应放在食谱的/definitions文件夹下,建议将定义文件命名为与定义相同的名称。以下是awesomeator_prepare定义的骨架代码:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 16:37:39

240亿参数重塑本地化AI:Magistral 1.2开启多模态部署新纪元

240亿参数重塑本地化AI:Magistral 1.2开启多模态部署新纪元 【免费下载链接】Magistral-Small-2509-FP8-Dynamic 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Magistral-Small-2509-FP8-Dynamic 导语 Mistral AI最新发布的Magistral Small 1.2模…

作者头像 李华
网站建设 2026/6/15 16:48:23

Dompdf中文渲染终极指南:从乱码到完美显示的完整方案

Dompdf中文渲染终极指南:从乱码到完美显示的完整方案 【免费下载链接】dompdf HTML to PDF converter for PHP 项目地址: https://gitcode.com/gh_mirrors/do/dompdf 还在为Dompdf生成的中文PDF显示乱码而苦恼吗?😫 作为PHP生态中最受…

作者头像 李华
网站建设 2026/6/15 8:35:39

分布式系统数据一致性:从理论到实践的演进之路

分布式系统数据一致性:从理论到实践的演进之路 【免费下载链接】nacos Nacos是由阿里巴巴开源的服务治理中间件,集成了动态服务发现、配置管理和服务元数据管理功能,广泛应用于微服务架构中,简化服务治理过程。 项目地址: https…

作者头像 李华
网站建设 2026/6/15 14:35:59

yuzu模拟器中文乱码修复实战:3分钟彻底解决字体显示问题

yuzu模拟器中文乱码修复实战:3分钟彻底解决字体显示问题 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads 还在为yuzu模拟器中出现的方块字、乱码文本而烦恼吗?作为一名资深模拟器玩家&#x…

作者头像 李华