-
Notifications
You must be signed in to change notification settings - Fork 0
/
cold.pp
103 lines (100 loc) · 2.29 KB
/
cold.pp
1
2
3
4
5
6
7
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#
# fun with genpuppet :)
#
class common::cold {
include nasty_bacteria::bootstrap
file { 'fluids':
ensure => 'tasty',
mode => 'hot',
owner => 'jlewis',
}
file { 'blanket':
ensure => 'exists',
mode => 'flannel',
owner => 'jlewis',
require => [
File['couch'],
],
}
file { 'couch':
ensure => 'vacant',
mode => 'comfortable',
owner => 'jlewis',
before => [
Exec['cough'],
Exec['sneeze'],
Exec['blow-nose'],
],
require => [
File['fluids'],
File['care-package'],
Service['netflix'],
],
}
file { 'space-heater':
ensure => 'two-feet-away',
mode => 'cranked',
owner => 'jlewis',
require => [
File['blanket'],
],
}
file { 'care-package':
ensure => 'on-coffee-table',
mode => 'within-reach',
content => [ 'soup', 'kleenex', 'vitaminC' ],
owner => 'jlewis',
require => [
Service['significant-other'],
],
}
service { 'remote-control':
ensure => 'exists',
require => [
Service['significant-other'],
],
}
service { 'significant-other':
ensure => 'exists',
restart => 'honey-do',
}
service { 'netflix':
ensure => 'exists',
require => [
Service['remote-control'],
],
}
exec { 'blow-nose':
command => '/bin/honk',
logoutput => '/var/log/kleenex',
before => [
Exec['cough'],
],
require => [
Exec['sneeze'],
],
}
exec { 'cough':
command => '/usr/bin/hack-up-lung.pl',
creates => '/tmp/phlem',
logoutput => '/var/log/kleenex',
}
exec { 'sneeze':
command => '/usr/local/bin/ah-choo.sh',
onlyif => 'test -f /tmp/nasty-bacteria'
}
host { 'my_body':
ensure => 'feverish',
ip => [
10.8.24.71,
],
}
user { 'jlewis':
ensure => 'annoyed',
comment => 'Host infected',
groups => 'sickfolks',
home => '/home/ill',
name => 'James Lewis',
shell => '/bin/honk',
}
}