2012-07-03 4 views
0

Я хочу управлять пулом открытых ключей SSH с марионеткой. Я не уверен, что я делаю это правильно, но вот как это работает:Переопределение ресурса, определенного в классе

У меня есть класс mysshd с манифестом, содержащим каждую конфигурацию SSH-сервера, которую я хочу. Кроме того, есть еще один манифест, содержащий все открытые ключи в качестве ресурсов «ssh_athorized_keys».

На данный момент я хотел, чтобы все они были зарегистрированы, поэтому в манифесте они «обеспечивают => настоящее». Поэтому каждый узел загружал удобный класс mysshd и все.

Но теперь я хотел бы определить ВСЕ открытые ключи моих пользователей в этом манифесте с помощью «обеспечить => отсутствовать». Затем, в моем node.pp, для каждого узла, я хотел бы поставить значение «обеспечить» для «представления» для каждого ресурса ssh_authorized_keys, если захочу.

Я попытался переопределить параметр «обеспечить» для некоторых ресурсов внутри класса, но, безусловно, я пропустил точку, и я не мог понять, как это сделать.

Вы можете мне помочь?

Некоторые подробности:

В: 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 => present и user => lagaffe, например.

Спасибо,

Джонатан

+0

Не могли бы вы включить некоторые примеры кода того, что вы уже пробовали, чтобы переопределить параметр обеспечения? – pwan

ответ

2

Это звучит как это случай использования для virtual resources

Вы можете определить все ваши ssh_authorized_keys в одном месте, а затем только реализовать их там, где это необходимо.

+0

Точно! Я только что прочитал вчера о виртуальных ресурсах и сумел сделать то, что мне было нужно. А потом я увидел ваш ответ :) – skizo

Смежные вопросы