在其他定义的类型中重用Puppet定义的类型参数
假设我想定义一组相互依赖的资源,并且依赖的资源应该重用它们祖先的参数。大概是这样的:在其他定义的类型中重用Puppet定义的类型参数,puppet,Puppet,假设我想定义一组相互依赖的资源,并且依赖的资源应该重用它们祖先的参数。大概是这样的: server { 'my_server': path => '/path/to/server/root', ... } server_module { 'my_module': server => Server['my_server'], ... } server\u模块资源既依赖于my\u服务器,又希望重用它的配置,在这种情况下是服务器安装的路径stdlib具有执行此操作的函数
server { 'my_server':
path => '/path/to/server/root',
...
}
server_module { 'my_module':
server => Server['my_server'],
...
}
server\u模块
资源既依赖于my\u服务器
,又希望重用它的配置,在这种情况下是服务器安装的路径stdlib
具有执行此操作的函数,特别是getparam()
这是一种“傀儡”方式来处理这个问题,还是有更好的方式来处理这种依赖关系?我认为没有一种标准的“傀儡方式”来处理这个问题。如果您可以使用stdlib完成它,并且您对它感到满意,那么一定要这样做 就个人而言,如果我有两个定义的资源都需要相同的数据,我将执行以下操作之一: 1) 拥有一个清单,该清单创建两个资源并通过参数传递双方都需要的数据。清单将访问两个资源所需的所有数据,无论是否共享 2) 让两个已定义的资源在Hiera中查找所需的数据 我最近更倾向于2号
依赖关系只是声明它的问题。因此,您的服务器模块资源将有一个“require=>server['my\u server']”参数,或者服务器资源将有一个“before=>server\u模块['my\u module']”参数。我也相信这是解决方法。决不能使用
getparam()
解决方案,因为它引入了解析顺序依赖关系。