Skip to content

Commit

Permalink
Implement ensure for userparameters
Browse files Browse the repository at this point in the history
  • Loading branch information
baurmatt committed Dec 24, 2018
1 parent 7985c53 commit 99ca954
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
2 changes: 2 additions & 0 deletions manifests/resources/userparameters.pp
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@
# no need for loading this class manually.
#
define zabbix::resources::userparameters (
$ensure,
$hostname,
$template,
) {

@@zabbix_userparameters { "${hostname}_${name}":
ensure => $ensure,
hostname => $hostname,
template => $template,
zabbix_url => '',
Expand Down
13 changes: 9 additions & 4 deletions manifests/userparameters.pp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
#
# === Parameters
#
# [*ensure*]
# If the userparameter should be `present` or `absent`
#
# [*source*]
# File which holds several userparameter entries.
#
Expand All @@ -29,7 +32,7 @@
# be placed. Default: '/usr/bin'
#
# [*config_mode*]
# When 'config_mode' is used, this parameter can provide the mode of the config file who will be created
# When 'config_mode' is used, this parameter can provide the mode of the config file who will be created
# to keep some credidentials private. Default: '0644'
#
# === Example
Expand Down Expand Up @@ -57,6 +60,7 @@
# Copyright 2014 Werner Dijkerman
#
define zabbix::userparameters (
Enum['present', 'absent'] $ensure = 'present',
Optional[Stdlib::Filesource] $source = undef,
Optional[String[1]] $content = undef,
Optional[Stdlib::Filesource] $script = undef,
Expand All @@ -74,7 +78,7 @@

if $source {
file { "${include_dir}/${name}.conf":
ensure => present,
ensure => $ensure,
owner => $agent_config_owner,
group => $agent_config_group,
mode => $config_mode,
Expand All @@ -86,7 +90,7 @@

if $content {
file { "${include_dir}/${name}.conf":
ensure => present,
ensure => $ensure,
owner => $agent_config_owner,
group => $agent_config_group,
mode => $config_mode,
Expand All @@ -98,7 +102,7 @@

if $script {
file { "${script_dir}/${name}${script_ext}":
ensure => present,
ensure => $ensure,
owner => $agent_config_owner,
group => $agent_config_group,
mode => '0755',
Expand All @@ -113,6 +117,7 @@
# used/enabled, we do this automatically.
if $template {
zabbix::resources::userparameters { "${facts['hostname']}_${name}":
ensure => $ensure,
hostname => $facts['fqdn'],
template => $template,
}
Expand Down
7 changes: 7 additions & 0 deletions spec/defines/userparameters_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,13 @@
it { is_expected.to contain_service(service) }
it { is_expected.to contain_zabbix__startup(service) }
end

context 'with ensure => absent' do
let(:params) { { ensure: 'absent', content: 'UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive' } }
it { is_expected.to compile.with_all_deps }

it { should contain_file('/etc/zabbix/zabbix_agentd.d/mysqld.conf').with_ensure('absent') }
end
end
end
end

0 comments on commit 99ca954

Please sign in to comment.