如何多次实现虚拟资源?

我已经在这里描述了两年前的问题,我找不到任何有关这方面的文档。 http://projects.puppetlabs.com/issues/3809

我必须在同一台主机上实现两次虚拟资源,这似乎不可能。 有没有解决方法,或者我有一个devise问题?

目标是为不同的帐户部署相同的SSH公钥。 我声明公钥是一个虚拟资源

@ssh_authoized_key{'blah': ....} 

并且要为用户和根帐户实现它我做:

 Ssh_athorized_key<|tag==admin|> Ssh_athorized_key<|tag==admin|>{ user => 'root' } 

只有第二个陈述将被实现。 我试图在不同的课程中隔离他们,但是问题依然存在。

有人有一个想法让我离开这个吗?

谢谢

改用一个定义。

 define create_virtual_ssh_authorized_key($user, $tag) { @ssh_authorized_key { "$name": user => $user, tag => $tag, ... } } define realize_ssh_authorized_key($tag, $user = undef) { if ! defined($user) { Ssh_authorized_key <| tag == $tag |> } else { Ssh_authorized_key <| tag == $tag |> { user => $user } } } 

那你可以这样做:

 create_virtual_ssh_authorized_key { adminonly: user => blah, tag => admin, } create_virtual_ssh_authorized_key { rootadmin: user => root, tag => admin, } realize_ssh_authorized_key { adminonly: tag => admin, } realize_ssh_authorized_key { rootadmin: tag => admin, user => root, }