2017-06-06 37 views
0

想知道是否有可能從兩個不同的資源通知相同的服務:2資源通知相同的服務

比方說,我有兩個配置文件:

file { "${conf_dir}/1.conf" : 
    content => template('1.conf.erb'), 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
} 

~>file { "${conf_dir}/2.conf" : 
    content => template('2.conf.erb'), 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
} 

~> service { 'some_service' : 
    enable  => true, 
} 

我不知道如果上面的代碼甚至會執行(由於文件資源之間的'〜')

回答

1

您可以使用notify選項來通知您的服務。

你的榜樣:

file { "${conf_dir}/1.conf" : 
    content => template('1.conf.erb'), 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
    notify => Service['some_service'], 
} 

file { "${conf_dir}/2.conf" : 
    content => template('2.conf.erb'), 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
    notify => Service['some_service'], 
} 

service { 'some_service' : 
    enable  => true, 
} 
1

使用此:

File { 
    owner => $owner, 
    group => $group, 
    mode => '0777', 
    notify => Service['some_service'], 
} 

file { 
    "${conf_dir}/1.conf": 
    content => template("${module_name}/1.conf.erb"); 

    "${conf_dir}/2.conf": 
    content => template("${module_name}/2.conf.erb"), 
} 

service { 'some_service': 
    enable => true, 
}