在其他定义的类型中重用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()
解决方案,因为它引入了解析顺序依赖关系。