news 2026/6/24 8:32:54

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/24 23:41:41

Firebase App Distribution终极指南:一键实现iOS应用内测分发革命

Firebase App Distribution终极指南:一键实现iOS应用内测分发革命 【免费下载链接】firebase-ios-sdk 适用于苹果应用开发的Firebase SDK。 项目地址: https://gitcode.com/GitHub_Trending/fi/firebase-ios-sdk Firebase App Distribution是Google Firebase…

作者头像 李华
网站建设 2026/6/25 0:13:30

80亿参数硬刚720亿!MiniCPM-V 4.5引领端侧多模态AI新纪元

80亿参数硬刚720亿!MiniCPM-V 4.5引领端侧多模态AI新纪元 【免费下载链接】MiniCPM-V 项目地址: https://ai.gitcode.com/OpenBMB/MiniCPM-V 导语 面壁智能最新发布的MiniCPM-V 4.5以80亿参数实现对GPT-4o和720亿参数模型的性能超越,其创新的3D…

作者头像 李华
网站建设 2026/6/24 16:56:24

水下NeRF技术实战:折射校正与散射补偿让模糊变清晰

想象一下,你兴冲冲地拍摄了一组水下照片,结果发现画面模糊、颜色失真,重建出来的3D模型像被水泡过一样变形。别急,这不是你的技术问题,而是传统NeRF在水下环境中的"水土不服"!今天我们就来聊聊如…

作者头像 李华
网站建设 2026/6/25 0:43:58

AI视频生成工具终极指南:从文本到动态内容的完整解决方案

在当今数字化内容创作浪潮中,AI视频生成技术正以前所未有的速度改变着创意工作流程。本文将深入解析一款集成化视频生成工具,展示如何通过单一界面实现从文本描述到动态视频的完整创作过程。 【免费下载链接】WAN2.2-14B-Rapid-AllInOne 项目地址: ht…

作者头像 李华
网站建设 2026/6/24 16:17:56

64位Access数据库引擎终极解决方案:彻底解决Jet.OLEDB.4.0未注册问题

64位Access数据库引擎终极解决方案:彻底解决Jet.OLEDB.4.0未注册问题 【免费下载链接】AccessDatabaseEngine_X64下载与安装指南 本仓库提供了一个名为 AccessDatabaseEngine_X64.zip 的资源文件,该文件用于解决在开发过程中遇到的“Microsoft.Jet.OLEDB…

作者头像 李华