Можно проверить http://routerboard.com/index.php?showProduct=98 Mikrotik Routerboard RB1100
Это собирающийся стоить Вам 399 долларов США.
Очень мощный Mikrotik RouterOS, можно проверить его функции в http://wiki.mikrotik.com
Вы можете удалить "require => Group ['group1']" из пользовательского ресурса, и ресурсы все равно будут созданы правильно. Затем вы можете использовать условие для изменения отношений между пользователем и группой при попытке «гарантировать => отсутствие».
$ensure = 'absent'
if $ensure == 'absent' {
User[user1] -> Group[group1]
}
group { 'group1':
ensure => $ensure
}
user { 'user1':
ensure => $ensure,
gid => 'group1',
}
Вот существующий отчет об ошибке:
Я уверен, что сначала удаляется группа.
Подобные ситуации обычно возникают в определениях. Обычно я делаю что-то вроде:
user { 'user1':
ensure => $ensure,
gid => 'group1',
require => $ensure ? {
present => Group['group1'],
absent => undef,
}
}
Это некрасиво, но работает. Возможно, есть способ получше.
Кроме того, я считаю, что на самом деле не имеет значения, удалит ли Puppet группу первым в этом случае, поэтому вы можете просто оставить зависимости в покое и не беспокоиться об этом. Пользователь будет находиться в несуществующей группе до тех пор, пока они еще существуют, что ненадолго. Наверное, не было большого вреда.
Я считаю, что на самом деле не имеет значения, удалит ли Puppet группу сначала в таком случае, поэтому вы можете просто оставить зависимости в покое и не беспокоиться об этом. Пользователь будет находиться в несуществующей группе до тех пор, пока они еще существуют, что ненадолго. Наверное, не было большого вреда. Я считаю, что на самом деле не имеет значения, удалит ли Puppet группу первым в таком случае, поэтому вы можете просто оставить зависимости в покое и не беспокоиться об этом. Пользователь будет находиться в несуществующей группе до тех пор, пока они еще существуют, что ненадолго. Наверное, не так много вреда.