news 2026/6/23 19:28:00

8、模块清单与定义类型的模块化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
8、模块清单与定义类型的模块化

模块清单与定义类型的模块化

1. 从定义类型中包含类

在某些场景下,之前定义的example_app_config类型有特定用途,它假定/etc/example_app及其子目录是在定义类型之外独立管理的。不过,很多定义类型需要在多个独立类或其他定义类型中使用,这就要求它们具备自包含性。

例如,要确保以下资源成为清单的一部分:

file { [ '/etc/example_app', '/etc/example_app/config.d.enabled' ]: ensure => 'directory'; }

若直接将此声明放入定义体中,会导致重复资源错误。每个example_app_config实例都会尝试自行声明这些目录。为避免此问题,可使用组件类模式。将上述声明封装在一个类中(如example_app_config_directories),并在定义体中包含该类:

define example_app_config($regions = []) { include example_app_config_directories … }

2. 类中嵌套定义

语言中有一个不太常见的特性,即类体中可以嵌套容器,类和定义类型都能成为类体的一部分。

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

深度解析librdkafka:从源码编译到高性能Kafka客户端的实战指南

深度解析librdkafka:从源码编译到高性能Kafka客户端的实战指南 【免费下载链接】librdkafka The Apache Kafka C/C library 项目地址: https://gitcode.com/GitHub_Trending/li/librdkafka Apache Kafka作为现代分布式系统的核心消息中间件,其C/C…

作者头像 李华
网站建设 2026/6/23 17:52:12

15、利用 Hiera 实现数据与代码分离

利用 Hiera 实现数据与代码分离 1. 在清单中定义数据的后果 在 Puppet 清单中处理微观管理问题有多种方法。最直接的方法是为每个单独的节点定义一组类,示例如下: class site::mysql_server01 {class { mysql: server_id => 1, … } } class site::mysql_server02 {cl…

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

Minemap完全指南:无需安装Minecraft即可探索种子世界

Minemap完全指南:无需安装Minecraft即可探索种子世界 【免费下载链接】Minemap An efficient map viewer for Minecraft seed in a nice GUI with utilities without ever needing to install Minecraft. 项目地址: https://gitcode.com/gh_mirrors/mi/Minemap …

作者头像 李华
网站建设 2026/6/23 19:08:58

18、使用 Puppet 配置云应用:全面指南

使用 Puppet 配置云应用:全面指南 证书安全与分布式目录创建 为了确保云实例的安全性,为每个新的云实例创建一个 UUID 作为 Puppet 证书的通用名称是更安全的做法。首先,准备一个基础镜像,其中包含一个简单的 puppet.conf 文件,该文件仅包含 [main] 部分,且没有 c…

作者头像 李华
网站建设 2026/6/22 20:44:27

reinstall终极指南:5分钟完成VPS系统跨平台切换的完整教程

reinstall终极指南:5分钟完成VPS系统跨平台切换的完整教程 【免费下载链接】reinstall 又一个一键重装脚本 项目地址: https://gitcode.com/GitHub_Trending/re/reinstall 还在为VPS系统重装的繁琐流程而头疼吗?传统方法需要记忆大量命令&#xf…

作者头像 李华