У меня есть 2 определенные ресурсы, созданныеКукол - уведомить службу в определенном ресурсе
Скачать приложение и установить его в качестве службы
Создать конфигурационный файл для службы
Я хочу, чтобы 1 выполнялся до 2, поскольку 1 создает каталог, в который 2 создается файл конфигурации.
Но мне также нужно, если файл конфигурации обновлен, он должен уведомить службу в 1 для обновления. Здесь я столкнулся с проблемой, поскольку, похоже, я не могу получить доступ к сервису.
Вот пример кода, я использую:
class start {
resource::run_service{'start'}
->
resource::conf:service_conf{'conf'}
}
define resource::run_service {
# Does some things
service { 'main':
ensure => 'running',
enable => true
}
}
define resource::conf::service_conf {
file { 'file.config':
ensure => file,
path => '/some/path/',
owner => 'user',
group => 'group',
mode => 0600,
content => template('templates/templatefile.erb'),
notify => Resource::Run_service::Service['main'], # What is the proper way to do this?
}
}
Это ошибка, я получаю от марионетки:
Ошибка: не удалось получить каталог с удаленного сервера: Ошибка 400 на сервере: Недопустимые отношения: File [file.config] {notify => Resource :: Run_service :: Service ['main']}, потому что Resource :: Run_service :: Service ['main'], похоже, не находится в каталоге
Я могу это сделать:
notify => Resource::Run_service['main'],
Но это дает мне цикл зависимости.
Есть ли способ обновить услугу?
Несмотря на то, что «вы не получаете никакой реальной добавленной стоимости от определенных типов ресурсов, которые не содержат параметров», это верно, поскольку это относится к специфике вопроса OP, это не так, как общее правило. Каждый экземпляр определенного типа имеет внутренне доступный '$ title' (также доступный как' $ name'), и его использование может сделать тип дополнительным значением (как и в случае, несколько примеров могут быть с пользой объявлены). Фактически, я бы зашел так далеко, что сказал, что в основном это использование '$ title', а не наличие или отсутствие параметров, которое определяет, добавляет ли определенный тип добавленную стоимость. –
@JohnBollinger Хорошая точка. Позвольте мне обновить свой пункт. –
Вы в курсе опечатки, я исправил OP. Ресурсы находятся в их собственных проявлениях, я просто форматировал их, чтобы их было легче читать. Похоже, главное, что я не знал, это то, что у местных ресурсов нет пространств имен. Я думаю, что я попробовал это без пространства имен, прежде чем публиковать свой вопрос, но при этом я не мог бы использовать «Сервис», потому что тогда он не работал. В любом случае, я принял ваш ответ. Благодарю. –