覆盖类中定义的资源

时间:2012-07-03 14:17:37

标签: puppet

我想用puppet管理一个SSH公钥池。 我不确定我做得对,但现在它的工作原理如下:

我有一个mysshd类,其中包含一个包含我想要的每个SSH服务器配置的清单。 此外,还有另一个包含所有公钥的清单,作为“ssh_athorized_keys”资源。

目前,我希望所有人都注册,因此他们在清单中有“确认=>存在”。所以每个节点都加载了方便的mysshd类,就是这样。

但是现在,我想在此清单中定义我的用户的所有公钥,并使用“ensure => absent”。 然后,在我的node.pp中,对于每个节点,如果我愿意,我想为每个资源ssh_authorized_keys设置值“ensure”为“present”。

我试图覆盖类中某些资源的“ensure”参数,但我肯定错过了一点,我无法弄清楚这样做的方法。

你能帮助我吗?

更多细节:

在:modules/iuem-sshd/manifests/publickeys.pp'中,有我的发布键列表:

ssh_authorized_key{'gab':
        key => 'AAAAB3NzaC1yc2EAAAABIwAAAQEAugG5p+SHmDm8OKdKifipUuK/TIbVXgQXm5ee//Cne+2QU9gctxOechyptT0oNh57rXUDShHpkNToC6r1ZvPLpxae2p2kBWJl5O2u1ov9/L8eWSvCFlVFc/gicH1wWG9vrlh7gXGGrAb6rVJ97XVDNkDmmF43W+Z8p8AjRtzE4b9Z3ZGGgPbBaPHPybBogs3wP3d5cyaLqlQgjJQXdkWkaVq8ApWLnan34O1sZVimcD6TVVSBZ1PmnSZfchxYq56xMnI+GpYvvi0dw+JU9aS+br4g1K5LtxFlxp4YlKGlQByrFdhn21z3VRnDrPWomgQHvdyzTUqwIs7AKvmPbQX+kQ==',
        name => 'Nicolas',
        ensure => absent,
        type => "ssh-rsa",
        user => root,
}

它是由init.pp导入的,它在ssh服务器上执行其他配置。

在节点配置中,我加载了类iuem-ssh:

class {'iuem-sshd': }

但我想覆盖设置:例如ensure => presentuser => lagaffe

谢谢,

乔纳森

1 个答案:

答案 0 :(得分:2)

听起来这是virtual resources

的用例

您可以在一个地方定义所有ssh_authorized_keys,然后只在需要的地方实现它们。