Puppet Class: deferlib::test
- Defined in:
- manifests/test.pp
Summary
Samples/Test deferred functionsOverview
Example of deferlib functions
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'manifests/test.pp', line 8
class deferlib::test {
notify { 'deferred':
message => deferlib::cmd({
'command' => 'cat /tmp/message;id',
'else' => 'no message',
'user' => 'joknarf',
'environment' => { 'PATH' => '/bin:/sbin' },
}),
}
notify { 'script from module':
message => deferlib::cmd({
'command' => file("${module_name}/myscript"),
'match' => 'hello',
'else' => 'bad output',
}),
}
notify { 'deferlib::if_cmd':
message => deferlib::if_cmd(file("${module_name}/myscript"), 'exit ok'),
}
service { 'cron':
#ensure => deferlib::unless_file('/tmp/maintenance', 'running'),
#ensure => deferlib::if_file('/tmp/production', 'running'),
#ensure => deferlib::if_cmd('false', 'running'),
#ensure => deferlib::cmd({
# command => 'cat /tmp/cron_local_ensure',
# else => 'running',
#}),
ensure => 'running',
noop => deferlib::if_file('/tmp/flag', true, false),
#noop =>deferlib::unless_file('/tmp/flag', false, true),
}
# use deferred command output in env variable
exec { 'env var deferred':
command => 'echo "$myvar"',
provider => 'shell',
environment => [deferlib::cmd({
'command' => 'echo "myvar=$(cat /tmp/msg)"',
})],
logoutput => true,
}
$def_val = deferlib::cmd({ 'command' => 'cat /tmp/msg' })
notify { 'test string':
message => Deferred('sprintf', ['myvar=%s', $def_val]),
}
notify { 'check':
message => deferlib::if_file('/tmp/ok', 'file found', 'file not found'),
}
}
|