将资源包装在自定义 class 中并调用 class?
Wrap resources inside custom class and invoke class?
我正在使用 Puppet 3.0。我尝试使用现有的 NGINX 模块,但遇到了一个似乎没有答案的问题。我已经开始自己实现 NGINX 模块来处理我的确切要求。
每个 package/service/file 资源都按预期工作,现在我将代码从 init.pp 移到 /manifest/nginx.pp 文件中作为 class:
class company_nginx {
... Various resources
}
现在我试图将这个 class 包含在 init.pp
中
include company_nginx
它 returns 一个错误:
Error: Could not find class nginx for localhost on node localhost
我错过了什么步骤或概念?如何在 init.pp 文件中调用此 "class" 以获取调用的资源并配置系统???
清单文件名和其中定义的 classes 必须完全匹配。如果你想有一个 class names company_nginx
那么它必须在一个 file names company_nginx.pp
.
此要求来自puppet autoloader。
您的 class 名称必须符合 Puppet 的要求才能提取它们。
class nginx::company_nginx { ... }
这个 class 将从模块 nginx
文件 manifests/company_nginx.pp
加载。
执行 include company_nginx
将使 Puppet 假设有一个实际的模块名称 company_nginx
和 init.pp
中定义的 class。
我正在使用 Puppet 3.0。我尝试使用现有的 NGINX 模块,但遇到了一个似乎没有答案的问题。我已经开始自己实现 NGINX 模块来处理我的确切要求。
每个 package/service/file 资源都按预期工作,现在我将代码从 init.pp 移到 /manifest/nginx.pp 文件中作为 class:
class company_nginx {
... Various resources
}
现在我试图将这个 class 包含在 init.pp
中include company_nginx
它 returns 一个错误:
Error: Could not find class nginx for localhost on node localhost
我错过了什么步骤或概念?如何在 init.pp 文件中调用此 "class" 以获取调用的资源并配置系统???
清单文件名和其中定义的 classes 必须完全匹配。如果你想有一个 class names company_nginx
那么它必须在一个 file names company_nginx.pp
.
此要求来自puppet autoloader。
您的 class 名称必须符合 Puppet 的要求才能提取它们。
class nginx::company_nginx { ... }
这个 class 将从模块 nginx
文件 manifests/company_nginx.pp
加载。
执行 include company_nginx
将使 Puppet 假设有一个实际的模块名称 company_nginx
和 init.pp
中定义的 class。